用SDK对话框实现改变背景颜色和显示剪贴板中的文本文件内容
2005-04-19 18:16
726 查看
学会总结每一天的所学到的东西并记录下来是个的确很个好的习惯! 唉~看来还得加油,不要因为自己懒就可以不写了!江河是溪流汇集成的! 要想实现自己的小梦想还是得勤快点啊!时间也不多了,眼看半个学期就要PASS了,现在感觉时间快了!写给自己的励言:相信自己,不懈努力,就没什么不可能的。 下面是个用SDK产生的对话框小程序没有产生窗口,就直接利用对话框实现的一些基本功能包括改变背景颜色和显示剪贴板中的文本文件内容具体的程序如下: #include <windows.h>
#include "resource.h"
COLORREF tempcolor[3]={RGB(120,45,128),RGB(0,135,189),RGB(200,120,123)};
static int color=0;//定义颜色
//定义对话框处理函数
BOOL CALLBACK DialogFun(HWND, UINT,WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow)
{
MSG msg;
if(100==DialogBox(hinstance,"mydialog",NULL,(DLGPROC)DialogFun))
{
PostQuitMessage(WM_QUIT);
}
while (GetMessage(&msg, (HWND) NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
UNREFERENCED_PARAMETER(lpCmdLine);
}
BOOL CALLBACK DialogFun(HWND dlghwnd, UINT message,WPARAM wParam, LPARAM lParam)
{
switch(message)
{
RECT rect;
case WM_PAINT:
PAINTSTRUCT ps;
HDC hdc;
HBRUSH brush,oldbrush;
hdc = BeginPaint(dlghwnd, &ps);
brush=CreateSolidBrush(tempcolor[color]);//创建画刷
GetClientRect(dlghwnd,&rect);//获得主窗口的面积
oldbrush=(HBRUSH)SelectObject(hdc,brush);
Rectangle(hdc,rect.left, rect.top, rect.right, rect.bottom);
SelectObject(hdc,oldbrush);
EndPaint(dlghwnd, &ps);
return FALSE;
case WM_INITDIALOG :
//ShowWindow(NULL,SW_SHOWNORMAL);
return FALSE;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDOK:
EndDialog(dlghwnd,100);//定义100来确定退出对话框
return TRUE;
case ID_CHANGECOLOR:
color=1;
InvalidateRect(dlghwnd,NULL,FALSE);
return TRUE;
case ID_CHANGECOLOR2:
color=2;
InvalidateRect(dlghwnd,NULL,FALSE);
return TRUE;
case ID_CHANGECOLOR3:
color=0;
InvalidateRect(dlghwnd,NULL,FALSE);
return TRUE;
case ID_PASTE:
//HWND pasteHwnd;
if(OpenClipboard(NULL))//打开剪贴板
{
if(IsClipboardFormatAvailable(CF_TEXT))
{
HANDLE hClip;
char* pBuffer;
hClip=GetClipboardData(CF_TEXT);
pBuffer=(char*)GlobalLock(hClip);
GlobalUnlock(hClip);
SetDlgItemText(dlghwnd,IDC_EDIT_PASTE,pBuffer);
}
else
{
MessageBox(dlghwnd,"您的剪贴板中不是文本文件","there no text",MB_OK);
}
CloseClipboard();//关闭剪贴板
}
}
default:
return FALSE;
}
}
#include "resource.h"
COLORREF tempcolor[3]={RGB(120,45,128),RGB(0,135,189),RGB(200,120,123)};
static int color=0;//定义颜色
//定义对话框处理函数
BOOL CALLBACK DialogFun(HWND, UINT,WPARAM, LPARAM);
int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow)
{
MSG msg;
if(100==DialogBox(hinstance,"mydialog",NULL,(DLGPROC)DialogFun))
{
PostQuitMessage(WM_QUIT);
}
while (GetMessage(&msg, (HWND) NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
UNREFERENCED_PARAMETER(lpCmdLine);
}
BOOL CALLBACK DialogFun(HWND dlghwnd, UINT message,WPARAM wParam, LPARAM lParam)
{
switch(message)
{
RECT rect;
case WM_PAINT:
PAINTSTRUCT ps;
HDC hdc;
HBRUSH brush,oldbrush;
hdc = BeginPaint(dlghwnd, &ps);
brush=CreateSolidBrush(tempcolor[color]);//创建画刷
GetClientRect(dlghwnd,&rect);//获得主窗口的面积
oldbrush=(HBRUSH)SelectObject(hdc,brush);
Rectangle(hdc,rect.left, rect.top, rect.right, rect.bottom);
SelectObject(hdc,oldbrush);
EndPaint(dlghwnd, &ps);
return FALSE;
case WM_INITDIALOG :
//ShowWindow(NULL,SW_SHOWNORMAL);
return FALSE;
case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDOK:
EndDialog(dlghwnd,100);//定义100来确定退出对话框
return TRUE;
case ID_CHANGECOLOR:
color=1;
InvalidateRect(dlghwnd,NULL,FALSE);
return TRUE;
case ID_CHANGECOLOR2:
color=2;
InvalidateRect(dlghwnd,NULL,FALSE);
return TRUE;
case ID_CHANGECOLOR3:
color=0;
InvalidateRect(dlghwnd,NULL,FALSE);
return TRUE;
case ID_PASTE:
//HWND pasteHwnd;
if(OpenClipboard(NULL))//打开剪贴板
{
if(IsClipboardFormatAvailable(CF_TEXT))
{
HANDLE hClip;
char* pBuffer;
hClip=GetClipboardData(CF_TEXT);
pBuffer=(char*)GlobalLock(hClip);
GlobalUnlock(hClip);
SetDlgItemText(dlghwnd,IDC_EDIT_PASTE,pBuffer);
}
else
{
MessageBox(dlghwnd,"您的剪贴板中不是文本文件","there no text",MB_OK);
}
CloseClipboard();//关闭剪贴板
}
}
default:
return FALSE;
}
}
相关文章推荐
- 实现Label文本内容中电话号码特殊颜色显示并点击电话号码能拨打
- css 选择后更改文字背景 CSS3 实现改变默认文本选中的颜色
- HTML route点击不同按钮,显示不同内容,可以改变按钮背景颜色
- 图形的绘制,如何使用自定义画笔(颜色,线宽,线形)。如何为程序中添加选项菜单和选项设置对话框,如何使用标准颜色对话框,如何使用字体对话框,在选项对话框中实现预览功能。实现选项对话框和窗口类中的数据交换。如何改变对话框和控件的背景色,如何改变控件的文本颜色,
- VC对话框加载图片、改变背景颜色、画图、显示隐藏控件
- 改变对话框和控件的背景及文本颜色
- EditText 使用细节(输入内容改变时的监听事件、透明背景、修改提示文字颜色、输入内容密文显示)
- 一条语句改变对话框背景和文本颜色
- 一条语句改变对话框背景和文本颜色
- openWRT学习之LUCI之二访问model下lua文件实现简单的显示文本内容
- 编写一个基于对话框的应用程序可以用来打开及显示文本文件设置所显示的文本的字体颜色。
- 实现Label文本内容中电话号码特殊颜色显示并点击电话号码能拨打
- 在CListView中用SetScrollPos改变滚动条的位置后,窗口中显示的内容如何也跟着移动实现。
- Win7系统下如何设置改变文本文档背景颜色
- VC 编辑框 改变背景、字体、文本颜色、长度限制、英文 汉字判断
- jQuery 行背景颜色的交替显示(隔行变色)实现代码
- 简单实现在文本框里输入路径,在文本区域显示文件
- android程序代码实现改变字体颜色和输入密码的显示隐藏
- JS实现左右拖动改变内容显示区域大小的方法
- 如何实现textarea里的不同文本显示不同颜色