资源简介
本资源包含源代码以及位图资源
创建位图按钮、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
相关资源
- php-5.2.17-nts-Win32-VC6-x86.zip
- C++异形窗口+WEB控件+关闭按钮 完美实
- CButtonST按钮增强类可在VS2012直接使用
- 新编Windows API参考大全全中文、win32
- 罗云斌win32汇编.rar
- cocos2d实现button(按钮)效果
-
Win32 Dialogba
sed Application 如鹏网 C语言 - C++实战源码-工具栏按钮多选效果
- C++实战源码-工具栏按钮的热点效果
- C++实战源码-工具栏按钮单选效果
- C++实战源码-灰度最大化与最小化关闭
- C++实战源码-可调整按钮位置的工具栏
- C++实战源码-按钮七巧板
- C++实战源码-固定按钮工具栏
- C++实战源码-位图和图标按钮
- C++实战源码-动画按钮
- C++ 隐藏和显示“开始”按钮
- c++自定义按钮控件
- MFC透明按钮
- MFC按钮实现按下弹起位图效果
- linux/Win32下读写ini文件的c++类
- gdi+绘制png透明按钮
- CnCommv1.5源码、范例及文档
- libnids-1.19-for-win32.rar
- MFC多功能按钮
- VC++五子棋
- C++builder 单选和复选按钮
- VC++界面编程之--自绘按钮(CButton)皮
- C/C++利用Win32框架写了个小游戏分享
- MFC 窗口界面美化 静态超链接 圆形按
评论
共有 条评论