我的非模式对话框不能够正常显示了

liulin2025 liulin2025 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
// ag.cpp : 定义应用程序的入口点。
//

#include "stdafx.h"
#include "ag.h"

#define MAX_LOADSTRING 100

// 全局变量:
HINSTANCE hInst; // 当前实例
TCHAR szTitle[MAX_LOADSTRING]; // 标题栏文本
TCHAR szWindowClass[MAX_LOADSTRING]; // 主窗口类名
HWND hDialog; //窗口



INT_PTR CALLBACK DialogProc(
_In_ HWND hwndDlg,
_In_ UINT uMsg,
_In_ WPARAM wParam,
_In_ LPARAM lParam
);


int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{

// TODO: 在此放置代码。
MSG msg;
HACCEL hAccelTable;

// 初始化全局字符串
LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
LoadString(hInstance, IDC_AG, szWindowClass, MAX_LOADSTRING);


hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_AG));

hDialog=CreateDialog(hInstance,MAKEINTRESOURCE(IDD_DIALOG1),NULL,DialogProc);

ShowWindow(hDialog,SW_SHOW);

UpdateWindow(hDialog);

// 主消息循环:
while (GetMessage(&msg, NULL, 0, 0))
{
if (!hInstance || !IsDialogMessage(hDialog,&msg) )
{
if(!TranslateAccelerator(msg.hwnd, hAccelTable, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
}

return (int) msg.wParam;
}






INT_PTR CALLBACK DialogProc(
_In_ HWND hwndDlg,
_In_ UINT uMsg,
_In_ WPARAM wParam,
_In_ LPARAM lParam
)
{

switch(uMsg)
{
case WM_COMMAND:

if( (LOWORD(lParam)==IDOK) || (LOWORD(lParam)==IDCANCEL) )
{

DestroyWindow(hwndDlg);
return TRUE;
}

break;

default:
return FALSE;
}
return FALSE;
}





任务栏倒是出现了这个对话框,但是并没有像弹出来。

必须去任务栏哪里点击,才显示。说白了,就是程序后,这个对话框处于最小化状态中。

为什么啊。


对话框风格状体,我是采用默认的, 没有修改过的。


...全文
评论 9
收藏 已收藏
分享
返回顶部
liulin2025
VC/MFC 16,550 成员 421,606 内容