VC6.0插入dialog對話框


1、打開資源窗口

image

2、對着source resource右鍵鼠標選擇插入,出來的對話窗口選擇dialog,新建

image

就可以看到對話框設計了:

image

3、有了對話框,那么我們怎么顯示呢?

可以用DialogBox API函數顯示,比如在一個菜單按鈕的點擊事件寫:

DialogBox((HINSTANCE)GetWindowLong(hwhd,GWL_HINSTANCE),MAKEINTRESOURCE(IDD_DIALOGABOUT),hwhd,AboutDialogProc);

(函數說明:第一個參數(HINSTANCE)GetWindowLong(hwhd,GWL_HINSTANCE)獲取進程句柄,第二個參數是對話框的ID,hwhd父窗口句柄,第三個參數是回調函數)

就可以顯示出改對話框了

image

3.1對話窗口的回調函數怎么寫?給是實例

BOOL CALLBACK AboutDialogProc(HWND hwndDlg,UINT UMsg,WPARAM wParam,LPARAM IParam)//關於對話框的回調函數
{
	TCHAR ss[256];
	switch(UMsg) {
	case WM_INITDIALOG://對話窗口初始化時調用
		{
			MEMORYSTATUS status = GetMemoryStatus();
			ZeroMemory(ss,sizeof(ss)/sizeof(TCHAR));
			wsprintf(ss,"%d KB",status.dwTotalPhys/1000);
			//MessageBox(hwndDlg,ss,TEXT(""),MB_OK);
			SetDlgItemText(hwndDlg,IDC_STATICMEMORY,ss);
			return TRUE;
		}
		break;
	case WM_COMMAND://響應窗口中各種按鈕的點擊事件
		{
			switch(wParam) {
			case IDOK:
				EndDialog(hwndDlg,0);
				break;
			default:
				break;
			}
		}
		break;
	case WM_CLOSE://對話窗關閉時調用,即是點擊關閉按鈕是的響應事件
		{
			EndDialog(hwndDlg,0);
			return TRUE;
		}
		break;
	default:
		break;
	}
    return FALSE;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM