Win32对话框工程笔记
Main.cpp
#include <Windows.h>
#include "resource.h"
INT_PTR CALLBACK dialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
if (WM_INITDIALOG == uMsg)
{
RECT rect;
GetWindowRect(hwndDlg, &rect);
int windowWidth = rect.right - rect.left;
int windowHeight = rect.bottom - rect.top;
int screenWidth = GetSystemMetrics(SM_CXSCREEN);
int screenHeight = GetSystemMetrics(SM_CYSCREEN);
MoveWindow(hwndDlg, (screenWidth - windowWidth) / , (screenHeight - windowHeight) / , windowWidth, windowHeight, FALSE);
SetDlgItemText(hwndDlg, IDC_EDIT_CONTENT, TEXT("这是一个简单的示例!"));
return TRUE;
}
else if (WM_CLOSE == uMsg)
{
EndDialog(hwndDlg, );
return TRUE;
}
else if (WM_COMMAND == uMsg)
{
WORD controlId = LOWORD(wParam);
switch (controlId)
{
case IDC_BUTTON_SAY:
{
TCHAR content[];
GetDlgItemText(hwndDlg, IDC_EDIT_CONTENT, content, );
MessageBox(hwndDlg, content, TEXT("消息框"), MB_ICONINFORMATION);
}
break;
case IDC_BUTTON_YES:
EndDialog(hwndDlg, IDC_BUTTON_YES);
break;
case IDC_BUTTON_NO:
EndDialog(hwndDlg, IDC_BUTTON_NO);
break;
}
return TRUE;
}
return FALSE;
}
int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow)
{
INT_PTR returnValue = DialogBox(hInstance, reinterpret_cast<const TCHAR *>(IDD_DIALOG_MAIN), nullptr, dialogProc);
if (IDC_BUTTON_YES == returnValue)
{
MessageBox(nullptr, TEXT("You clicked the Yes button!"), TEXT("Message Box"), MB_ICONINFORMATION);
}
else if (IDC_BUTTON_NO == returnValue)
{
MessageBox(nullptr, TEXT("You clicked the No button!"), TEXT("Message Box"), MB_ICONINFORMATION);
}
else
{
MessageBox(nullptr, TEXT("You closed the dialog!"), TEXT("Message Box"), MB_ICONINFORMATION);
}
return ;
}
Win32对话框工程笔记的更多相关文章
- Win32对话框程序(2)
接着Win32对话框程序(1)来写 ,解决遗留的问题,即理解函数及其调用关系.文章中有些地方是自己的推断,因此肯定有叙述不准确甚至错误的地方,请指正,感谢~ ********************* ...
- 如何让win32对话框居中显示
在编写win32对话框程序,如果是用visual studio建的win32对话框程序,默认是不居中显示的,about 对话框也是这样的,用资源编辑器打开,可以在属性里面设置居中center 为tur ...
- win32 dll工程开发创建对话框
界面编程的CreateWindow函数需要instance,只要获取到dll工程的main的instance参数,就可以使用CreateWindow函数了. 创建对话框需要CreateDialog函数 ...
- <转载>Win32控制台工程中创建窗口
有的时候,用控制台同步输出调试信息.程序状态量,比出Log.弹出报错对话框等方法来得有效.那么如何做到呢?如下: 简而言之,用GetModuleHandle()函数获得当前程序实例句柄,其它地方与常见 ...
- Win32对话框程序(1)
之前学C语言是一直都是在控制台下面操作的,面对的都是黑框框,严重的打击了学习的兴趣.后来在TC下进行C语言课程设计,做了图形界面编程,但都是点线面画的…… 中间隔了好长一段时间没有碰过C语言,最近才开 ...
- win32多线程程序设计笔记(第四章下)
上一笔记讲了同步机制中的临界区域(Critical Sections).互斥器(Mutexes),下面介绍同步机制中的另外两种. 信号量(Semaphores) 举个例子: 现在有人要租车,接待他的代 ...
- win32多线程程序设计笔记(第二章)
第二章线程的第一次接触,主要讲了如何创建线程以及需要注意的几点. 一.创建线程 与调用函数的过程类似;线程只不过用CreateThread的API将函数封装起来,并产生一个与主程序同时执行的程序来调用 ...
- 罗云彬win32汇编教程笔记 子函数的声明, 定义与调用
在主程序中用call指令来调用子程序. Win32汇编中的子程序也采用堆栈来传递参数,这样就可以用invoke伪指令来进行调用和语法检查工作. 一. 子程序的定义 子程序的定义方式如下所示. 子程序名 ...
- Win32对话框模板创建的窗口上响应键消息,Tab焦点切换消息,加速键消息
今天在学习的时候,发现对话框上不响应键盘消息,查了老半天,终于成功了,现分享出来, 1,首先要在消息循环的时候加如下代码. int WINAPI WinMain(_In_ HINSTANCE hIns ...
随机推荐
- 慕课 python 操作数据库2 银行转账实例
CREATE TABLE `account` ( `acctid` ) DEFAULT NULL COMMENT '账户ID', `) DEFAULT NULL COMMENT '余额' ) ENGI ...
- Device Tree Usage 【转】
转自:http://blog.chinaunix.net/uid-20522771-id-3457184.html 原文链接:http://devicetree.org/Device_Tree_Usa ...
- 标准C程序设计七---62
Linux应用 编程深入 语言编程 标准C程序设计七---经典C11程序设计 以下内容为阅读: <标准C程序设计>(第7版) 作者 ...
- configure: error: C++ preprocessor "/lib/cpp" fails sanity check
configure: error: C++ preprocessor "/lib/cpp" fails sanity check 参考链接: error: C++ preproce ...
- (2).net core2.1 Startup.cs
app.UseMvc(routes => { routes.MapRoute( name: "default", template: "{controller=Ho ...
- facebook面试题【转】
1. 给两个类A和Bclass A {public void foo (A a) { ...}}class B extends A {public void foo (B b) { ...}}问这么写 ...
- flask的restful api模块flask_restful和认证模块flask_httpauth
参考: 1.https://zhuanlan.zhihu.com/p/24629177 2.https://github.com/shengulong/LearnPython/blob/master/ ...
- 拦截器及 Spring MVC 整合
一.实验介绍 1.1 实验内容 本节课程主要利用 Spring MVC 框架实现拦截器以及 Spring MVC 框架的整合. 1.2 实验知识点 Spring MVC 框架 拦截器 1.3 实验环境 ...
- 树莓派 Zero作为飞控图传
前言 原创文章,转载引用务必注明链接,水平有限,如有疏漏,欢迎指正. 本文使用Markdown写成,为获得更好的阅读体验和正常的链接.图片显示,请访问我的博客原文: http://www.cnblog ...
- SQL中Inserted 和Deleted表 以及触发Trigger
什么是Inserted 和Deleted表 他们有什么用 trigger 的简单实用 1.什么是Inserted 和Deleted表 当插入数据的时候,其实是同时向目的表 和inserted表中插入数 ...