在程序中怎样改变客户区的颜色
编号:QA004160
建立日期: 2001年4月26日 最后修改日期:2001年4月26日
所属类别:
Q
张某:
操作系统: windows98
编程工具: VC++6.0
问题: 1.WinExec()的第一个参数用不用带路径?是不是不用(我看到有个程序中要启动资源管理器,它调用此函数的形式为(WinExec(_T("explorer",SW_SHOW_NORMAL),它就没带路径!还有,“_T”有什么用?)。
2.在程序中怎样改变客户区的颜色?
3.怎样使用自己画的鼠标?
4.CButton& MyButton(){return *(CButton*)GetDlgItem(IDC_MYBUTTON);}是什么意思?它的返回值赋给谁了(给MyButton()了!?)
5.关机的函数是什么?
水平: 刚入门
A回答:
1、如果WinExec的第一个参数不带路径,则系统会在Windows、System和Path指定的目录中查找。如果你要运行的程序在这些目录中,就不用指定路径。
_T的问题可以参考QA003854 "类型转换 _T()是什么意思"。
2、Windows向窗口发送一个WM_ERASEBKGND消息通知该窗口擦除背景,可以使用ClassWizard重载该消息的缺省处理程序来擦除背景(实际是画),并返回TRUE以防止Windows擦除窗口。
//Paint area that needs to be erased.
BOOL CSampleView : : OnEraseBkgnd (CDC* pDC)
{
// Create a pruple brush.
CBrush Brush (RGB (128 , 0 , 128) );
// Select the brush into the device context .
CBrush* pOldBrush = pDC->SelectObject (&brush);
// Get the area that needs to be erased .
CRect reClip ;
pDC->GetClipBox(&rcClip);
//Paint the area.
pDC-> PatBlt (rcClip.left , rcClip.top ,
rcClip.Width() , rcClip.Height(), PATCOPY );
//Unselect brush out of device context .
pDC->SelectObject (pOldBrush );
// Return nonzero to half fruther processing .
return TRUE;
}
3、使用鼠标的问题参考QA002149 "如何更改程序的默认光标"。
4、其实这个函数的返回值放在堆栈上,至于给谁了,要看谁调用它。
5、关机的问题参考QA001112 "如何重新启动本机、关机"。
你的这种提问方式不符合规定,希望你看看“提问须知”,否则以后提的问题将不处理。
此问题由李海回答。
附加关键字:编程, 源程序, programming, source code, C/C++, MFC, C++ Builder, Borland C++, Turbo C, C, BCB, Windows API, win32, api, windows api, gdi32, kernel。
| |
|
|
| |
|
|