用SDK风格写一个简单的基于对话框的程序 我也想用SDK程序,但是一直没时间自己去学习写界面,学习一下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 LZ可以自己在创建的窗口上画出OK Cancel 等按钮,然后处理WM_COMMAND的消息就可以了,分别为IDOK、IDCANCEL等,还有其他的一些窗口消息。 void OnInitDlg(HWND hwnd);void OnPaint(HWND hwnd);BOOL CALLBACK DlgProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam){ switch (message) { case WM_INITDIALOG : OnInitDlg(hDlg); return TRUE ; case WM_PAINT: OnPaint(hDlg); return TRUE; case WM_COMMAND : switch (LOWORD (wParam)) { case IDOK : case IDCANCEL : EndDialog (hDlg, 0) ; return TRUE ; } break ; } return FALSE ;}winmain里面只要写DialogBox (hInstance, MAKEINTRESOURCE(IDD_DIALOG1), 0, DlgProc) ;就能在执行winmain时打开模态对话框IDD_DIALOG1了 创建win32 project删掉winMain中代码加入DialogBox(),在资源中加入你要显示的Dialog,做个dialog的窗体proc函数 #include "resource.h"void DisplayMessage( HWND hDlg, PCSTR text );//---------------------------------------------------------------------- //----------------------------------------------------------------------LRESULT CALLBACK DlgProc( HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam ){ if( message == WM_COMMAND ) { switch( LOWORD( wParam ) ) { case IDOK: case IDCANCEL: EndDialog( hDlg, 0 ); return TRUE; } } return FALSE;}void DisplayMessage( HWND hDlg, PCSTR text ){ SetDlgItemText( hDlg, IDC_STATUS, text ); UpdateWindow( hDlg );}int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ){ DialogBox( hInstance, (LPCTSTR)IDD_MAIN, 0, (DLGPROC)DlgProc ); return 0;}//---------------------------------------------------------------------- 添加一个对话框资源,调用DialogBox函数。 希望灾区的百姓,早日脱离苦海。 关于C++ 6.0 编译器的一个问题,请高手指教 keybd_event模拟两键同事按下,第一次以后都失败。是否需要释放什么? 为什么文本框最多显示127个字节? mpalyer.exe的播放GUI疑问?? 痴人妄语:COM中的聚合不是一种好方式 我做了一个类,基于CStatic的, 我想让这个类create出来的是白色的底色,怎么实现? IOCP,服务器如何主动T掉失效的客户端 如何判断是设定了大字体还是小字体呢? 如何查看DLL内的函数? vc2008编出的程序挑运行库挑的很严重 ffmpeg avi to mp4 问题
void OnPaint(HWND hwnd);
BOOL CALLBACK DlgProc (HWND hDlg, UINT message,
WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_INITDIALOG :
OnInitDlg(hDlg);
return TRUE ;
case WM_PAINT:
OnPaint(hDlg);
return TRUE;
case WM_COMMAND :
switch (LOWORD (wParam))
{
case IDOK :
case IDCANCEL :
EndDialog (hDlg, 0) ;
return TRUE ;
}
break ;
}
return FALSE ;
}winmain里面只要写
DialogBox (hInstance, MAKEINTRESOURCE(IDD_DIALOG1), 0, DlgProc) ;就能在执行winmain时打开模态对话框IDD_DIALOG1了
#include "resource.h"void DisplayMessage( HWND hDlg, PCSTR text );//----------------------------------------------------------------------
//----------------------------------------------------------------------LRESULT CALLBACK DlgProc( HWND hDlg, UINT message, WPARAM wParam,
LPARAM lParam )
{
if( message == WM_COMMAND ) {
switch( LOWORD( wParam ) ) {
case IDOK:
case IDCANCEL:
EndDialog( hDlg, 0 );
return TRUE;
}
}
return FALSE;
}void DisplayMessage( HWND hDlg, PCSTR text )
{
SetDlgItemText( hDlg, IDC_STATUS, text );
UpdateWindow( hDlg );
}int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow )
{
DialogBox( hInstance, (LPCTSTR)IDD_MAIN, 0, (DLGPROC)DlgProc );
return 0;
}//----------------------------------------------------------------------