15,979
社区成员
发帖
与我相关
我的任务
分享
#include <windows.h>
#include "resource.h"
#include "stdafx.h"
BOOL __stdcall DlgProc(HWND, UINT, WPARAM, LPARAM);
HBITMAP g_hBitmap; // 图片的句柄
HICON g_hIcon; // 对话框图标句柄
HBRUSH g_hBgBrush; // 背景刷子 第一句
char szFileName[MAX_PATH]=""; //需要操作的文件
bool DoWhat=true; //开关变量,加密还是解密
bool IsReady=false; //是否选择了用于操作的文件
int __stdcall WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, int)
{
// 从资源中加载BMP文件和图标,这些工作也可以在WM_INITDIALOG消息中进行
g_hBitmap = ::LoadBitmap(hInstance, (LPCTSTR)IDB_BITMAP);
g_hIcon = ::LoadIcon(hInstance, (LPCTSTR)IDI_MAIN);
g_hBgBrush = ::CreateSolidBrush(RGB(0xa6, 0xca, 0xf0)); // 创建背景刷子
int nResult = ::DialogBoxParam(
hInstance, // 实例句柄
(LPCTSTR)IDD_MAIN, // 对话框资源ID号
NULL, // 父窗口句柄
DlgProc, // 消息处理函数
NULL); // 对话框初始化的值,在WM_INITDIALOG消息的lParam参数中取出
::DeleteObject(g_hBgBrush);
return 0;
}
BOOL __stdcall DlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
switch(message)
{
case WM_INITDIALOG:
{
// 设置标题栏图标
::SendMessage(hDlg, WM_SETICON, ICON_BIG, (long)g_hIcon);
// 初始化显示图片的静态框架
//HWND hWndBmp = ::GetDlgItem(hDlg, IDC_BMP);
// 设置SS_BITMAP风格
//LONG nStyle = ::GetWindowLong(hWndBmp, GWL_STYLE);
//::SetWindowLong(hWndBmp, GWL_STYLE, nStyle | SS_BITMAP);
// 设置图片
//::SendDlgItemMessage(hDlg, IDC_BMP, STM_SETIMAGE, IMAGE_BITMAP, (LPARAM)g_hBitmap);
}
break;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case 1: // 选择需要加密的文件
{
}
break;
case 222: // 选择需要解密的文件
{
}
break;
case IDCANCEL: // 退出程序
::EndDialog (hDlg, IDCANCEL);
break;
}
break;
case WM_CTLCOLORSTATIC: // 设置静态文本框的背景色
case WM_CTLCOLORDLG: // 设置对话框的背景色
{
HDC hdc = (HDC)wParam;
// 为静态文本框设置文本背景色
::SetBkColor(hdc, RGB(0xa6, 0xca, 0xf0));
/*if((HWND)lParam == ::GetDlgItem(hDlg, IDC_AUTHOR))
{
::SetTextColor(hdc, RGB(0, 0, 0xff));
}*/
return (int)g_hBgBrush;
}
}
return 0;
}
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by 对外汉语测试.rc
//
#define IDB_BITMAP 102
#define IDI_MAIN 103
#define IDD_MAIN 104
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 105
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1001
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif