SDK对话框简单示例

一个简单的SDK对话框示例代码:

 

SdkDlg.h

// SdkDlg.h: interface for the CSdkDlg class.
//
//

#if !defined(AFX_SDKDLG_H__07BCC7C2_1D4A_49A1_94DA_FF1F19D9B315__INCLUDED_)
#define AFX_SDKDLG_H__07BCC7C2_1D4A_49A1_94DA_FF1F19D9B315__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class CSdkDlg  
{
private:
	static HANDLE m_hInstance;

	HWND m_hWnd;

public:
	CSdkDlg();
	virtual ~CSdkDlg();

	void OnOK();

	void ShowModal();

	static DWORD CALLBACK SdkDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);


};

#endif // !defined(AFX_SDKDLG_H__07BCC7C2_1D4A_49A1_94DA_FF1F19D9B315__INCLUDED_)


 

SdkDlg.cpp

// SdkDlg.cpp: implementation of the CSdkDlg class.
//
//

#include "stdafx.h"
#include "SdkDlg.h"
#include "resource.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//
// Construction/Destruction
//

CSdkDlg::CSdkDlg()
{
	
}

CSdkDlg::~CSdkDlg()
{
	
}

void CSdkDlg::ShowModal()
{
// 	DialogBoxParam(GetModuleHandle(0),  MAKEINTRESOURCE(IDD_DLG_SAMPLE), NULL, (DLGPROC)SdkDialogProc, (LPARAM)this);
    DialogBox(NULL, MAKEINTRESOURCE(IDD_DLG_SAMPLE), NULL, (DLGPROC)SdkDialogProc);
}

DWORD CALLBACK CSdkDlg::SdkDialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
	switch (uMsg)
    {		
	case WM_INITDIALOG:
		break;
		
    case WM_COMMAND:
        switch(LOWORD(wParam))
        {
        case IDOK:
            EndDialog( hwndDlg, 0 );
            Sleep(3000);
            MessageBox(NULL, "", "", MB_OK);
        	break;

        case IDCANCEL:
            EndDialog( hwndDlg, 0 );
            break;

        default:
            break;
        }		
    }

	return 0;
}


SdkDialog.rc

//Microsoft Developer Studio generated resource script.
//
#include "resource.h"

#define APSTUDIO_READONLY_SYMBOLS
/
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "afxres.h"

/
#undef APSTUDIO_READONLY_SYMBOLS

/
// Chinese (P.R.C.) resources

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)
#ifdef _WIN32
LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
#pragma code_page(936)
#endif //_WIN32

/
//
// Dialog
//

IDD_DLG_SAMPLE DIALOG DISCARDABLE  0, 0, 187, 94
STYLE DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | 
    WS_CAPTION | WS_SYSMENU
FONT 10, "System"
BEGIN
    DEFPUSHBUTTON   "OK",IDOK,32,66,50,14
    PUSHBUTTON      "Cancel",IDCANCEL,104,66,50,14
    COMBOBOX        IDC_COMBO1,20,18,48,30,CBS_DROPDOWN | CBS_SORT | 
                    WS_VSCROLL | WS_TABSTOP
END


/
//
// DESIGNINFO
//

#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO DISCARDABLE 
BEGIN
    IDD_DLG_SAMPLE, DIALOG
    BEGIN
        LEFTMARGIN, 7
        RIGHTMARGIN, 180
        TOPMARGIN, 7
        BOTTOMMARGIN, 87
    END
END
#endif    // APSTUDIO_INVOKED


#ifdef APSTUDIO_INVOKED
/
//
// TEXTINCLUDE
//

1 TEXTINCLUDE DISCARDABLE 
BEGIN
    "resource.h\0"
END

2 TEXTINCLUDE DISCARDABLE 
BEGIN
    "#include ""afxres.h""\r\n"
    "\0"
END

3 TEXTINCLUDE DISCARDABLE 
BEGIN
    "\r\n"
    "\0"
END

#endif    // APSTUDIO_INVOKED

#endif    // Chinese (P.R.C.) resources
/



#ifndef APSTUDIO_INVOKED
/
//
// Generated from the TEXTINCLUDE 3 resource.
//


/
#endif    // not APSTUDIO_INVOKED


 

SdkDialog.cpp

// SdkDialog.cpp : Defines the entry point for the application.
//

#include "stdafx.h"
#include "resource.h"
#include "SdkDlg.h"

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
 	// TODO: Place code here.

	CSdkDlg dlg;
	dlg.ShowModal();

	return 0;
}


 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值