通用控件(1)

一、创建父窗口

1、创建资源脚本
File --> New --> Resource Script
2、导入资源脚本头文件
Resource Script --> Add Files to Folder --> resource.h
3、创建一个窗口
resource.h --> 资源脚本 --> Insert --> Dialog
在这里插入图片描述

二、布局

在这里插入图片描述

三、修改属性

父窗口
PE工具:IDD_DIALOG_MAIN

按钮
PE查看:IDC_BUTTON_PE
关于 : IDC_BUTTON_ABOUT
退出 : IDC_BUTTON_LOGOUT

四、生成资源文件

在修改属性完成后,F7生成资源文件,在resource.h中
在这里插入图片描述

五、创建窗口

DialogBox函数(详情参考msdn)
第一个参数:句柄
第二个参数:你画的那个模板
第三个参数:父窗口的句柄
第四个参数:消息处理函数

INT_PTR DialogBox(					
	  HINSTANCE hInstance,  // handle to module					
	  LPCTSTR lpTemplate,   // dialog box template					
	  HWND hWndParent,      // handle to owner window					
	  DLGPROC lpDialogFunc  // dialog box procedure					
	);	

DialogBox(hInstance,MAKEINTRESOURCE(IDD_DIALOG_MAIN),NULL,DialogProc)

六、处理函数

简单实现,窗口右上角X和点击退出,退出当前程序功能

//消息处理函数 										
BOOL CALLBACK DialogProc(									
						 HWND hwndDlg,  // handle to dialog box			
						 UINT uMsg,     // message			
						 WPARAM wParam, // first message parameter			
						 LPARAM lParam  // second message parameter			
						 )			
{									
									
	switch(uMsg)								
	{
	case  WM_CLOSE :		
		{
			EndDialog(hwndDlg, 0);															
			return TRUE;			
		}


	case  WM_COMMAND :	
		
		switch (LOWORD (wParam))							
		{																					
		case   IDC_BUTTON_LOGOUT:							
																
			EndDialog(hwndDlg, 0);						
									
			return TRUE;						
		}							
		break ;							
	}									
									
	return FALSE ;								
}						

七、编译

导入#include "resource.h"头,进行编译,基本退出功能实现了

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


										
//消息处理函数 										
BOOL CALLBACK DialogProc(									
						 HWND hwndDlg,  // handle to dialog box			
						 UINT uMsg,     // message			
						 WPARAM wParam, // first message parameter			
						 LPARAM lParam  // second message parameter			
						 )			
{									
									
	switch(uMsg)								
	{
	case  WM_CLOSE :		
		{
			EndDialog(hwndDlg, 0);															
			return TRUE;			
		}


	case  WM_COMMAND :	
		
		switch (LOWORD (wParam))							
		{																					
		case   IDC_BUTTON_LOGOUT:							
																
			EndDialog(hwndDlg, 0);						
									
			return TRUE;						
		}							
		break ;							
	}									
									
	return FALSE ;								
}									





int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
 	// TODO: Place code here.
			
						
	DialogBox(hInstance,MAKEINTRESOURCE(IDD_DIALOG_MAIN),NULL,DialogProc);
	return 0;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值