资源简介
本资源包含源代码以及位图资源
创建位图按钮、MFC样式的按钮
主要用于博文的资源下载,博文地址:
http://blog.csdn.net/crocodile__/article/details/10237943
代码片段和文件信息
//Button.c
#include “Window_Xp_style.h“
LRESULT CALLBACK WndProc(HWND UINT WPARAM LPARAM);
int WINAPI WinMain(HINSTANCE hInstance
HINSTANCE hPrevInstance
PSTR szCmdLine
int iCmdShow)
{
static TCHAR szAppName[] = TEXT(“Btn“);
HWND hwnd;
MSG msg;
WNDCLASS wndclass;
int cxScreen cyScreen;
wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = WndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon(NULL IDI_APPLICATION);
wndclass.hCursor = LoadCursor(NULL IDC_ARROW);
wndclass.hbrBackground = (HBRUSH)GetStockobject(WHITE_BRUSH);
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = szAppName;
if(!RegisterClass(&wndclass))
{
MessageBox(NULL TEXT(“This program requires Windows NT!“)
szAppName MB_IConerror);
return 0;
}
cxScreen = GetSystemMetrics(SM_CXSCREEN);
cyScreen = GetSystemMetrics(SM_CYSCREEN);
hwnd = CreateWindow(TEXT(“Btn“)
TEXT(“Btn Demo“)
WS_OVERLAPPEDWINDOW
cxScreen * 3 / 10//居中显示
cyScreen / 5
cxScreen * 2 / 5
cyScreen * 3 / 5
NULL
NULL
hInstance
NULL);
ShowWindow(hwnd iCmdShow);
UpdateWindow(hwnd);
while(GetMessage(&msg NULL 0 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}
LRESULT CALLBACK WndProc(HWND hwnd UINT message WPARAM wParam LPARAM lParam)
{
static HWND hButton[NUM];//按钮窗口句柄
HFONT hFont; //字体句柄
LOGFONT lf; //逻辑字体
int i cyButton;//循环变量和按钮之间的间隙
switch(message)
{
case WM_CREATE:
// SkinH_Attach();
//创建按钮
for(i=0; i {
LONG Btnstyle = WS_CHILD | WS_VISIBLE | BS_PUSHBUTTON | BS_BITMAP;
hButton[i] = CreateWindow(TEXT(“button“) tBtnName[i]
Btnstyle
0 0 0 0 hwnd (HMENU)iBtnID[i]
((LPCREATESTRUCT)lParam)->hInstance NULL);
{
HBITMAP hBmp;//位图句柄
//加载
hBmp = LoadBitmap(((LPCREATESTRUCT)lParam)->hInstance
MAKEINTRESOURCE(iBmpID[i]));
//发送消息
SendMessage(hButton[i] BM_SETIMAGE IMAGE_BITMAP (LPARAM)hBmp);
}
SetWindowText(hButton[i] tBtnName[i]);
//创建字体
ZeroMemory(&lf sizeof(LOGFONT));
lf.lfHeight = -14;//字体的大小
hFont = CreateFontIndirect(&lf);
//修改字体
SendMessage(hButton[i] WM_SETFONT (WPARAM)hFont 0);
}
return 0 ;
case WM_SIZE:
cyButton = HIWORD(lParam) / (NUM + 2);
//通过适应窗口大小 来设定按钮的位置
for(i=0; i {
MoveWindow(hButton[i] 100 cyButton * (i + 1) 100 60 TRUE);
}
return 0 ;
case WM_COMMAND:
switch(wParam)
{
case IDB_PUSHBUTTON1:
MessageBox(hwnd TEXT(“按下按钮1“) TEXT(“提示“) MB_OK);
break;
case IDB_PUSHBUTTON2:
MessageBox(hwnd TEXT(“按下按钮2“) TEXT(“提示“) MB_OK);
break;
case IDB_PUSHBUTTON3:
MessageBox(hwnd TEXT(“按下按钮3“) TEXT(“提示“)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 18054 2013-08-23 17:58 1.bmp
文件 24054 2013-08-23 17:58 2.bmp
文件 18054 2013-08-23 17:58 3.bmp
文件 3251 2013-08-23 21:46 Button.c
文件 713 2013-08-23 21:39 Window_Xp_st
相关资源
- MFC自定义界面HUI,高效简单,含详细
- 超级玛丽c++源码win32Linux平台
- [纯C语言 + Win32 API]一步一步写个围棋
- C++ 游戏疯狂的赛车
- Win32多线程程序设计--详细书签版
- Win32简易画图程序
- 我见过最漂亮的CS仿真程序openGL和C+
- libcurl-7.19.3-win32-ssl-msvc.zip
- MFC各种按钮美化源码
- VC++ 推箱子游戏源代码(双缓存版)
- VC++ Win32俄罗斯方块游戏源码(新)
- MFC 自定义位图按钮加文字
- 自己编写的C++基于socket编程的UDP聊天
- win32 VC++ 合并 exe 和 Dll..
- 按钮的长按
- 源码:MFC按钮重绘-图书管理系统ADO
- Twisted-19.2.1-cp38-cp38m-win32.whl
- php-5.3.5-Win32-VC6-x64
- WIN32程序的C++编程
- Microsoft Win32 程序员参考大全5.pdf(6个
- 音乐播放器源代码 vc++ 6.0
- win32应用程序中建立对话框
- Apache2.2-win32-x86
- Win32多线程程序设计 pdf高清
- gdi+游戏框架这是一个用vc6.0写的Win3
- 百度OCR文字识别依赖库-libcurl、opens
- MathGL2.2.2.1版的Win32 Lib,配合MathGL在
- MFC各种重绘漂亮按钮
- win32编程之系统托盘图标显示以及弹出
- 自绘按钮的实现,对VC++6.0控件派生学
评论
共有 条评论