VC怎么在程序上面显示文字
如:我用spy++获得了记事本程序的句柄值001A0766然后我加入下面的代码HDChdc;hdc=::GetWindowDC((HWND)"001A0766");//这...
如:
我用spy++ 获得了记事本程序的句柄值001A0766
然后我加入下面的代码
HDC hdc;
hdc = ::GetWindowDC((HWND)"001A0766");//这儿是这样调用的吗?我瞎写的。
::TextOut(hdc,0,0,"hello",strlen("hello"));
照我上面的做,显示不出文字来。求高手 展开
我用spy++ 获得了记事本程序的句柄值001A0766
然后我加入下面的代码
HDC hdc;
hdc = ::GetWindowDC((HWND)"001A0766");//这儿是这样调用的吗?我瞎写的。
::TextOut(hdc,0,0,"hello",strlen("hello"));
照我上面的做,显示不出文字来。求高手 展开
4个回答
展开全部
void CTest_led2View::OnDraw(CDC* pDC)
{
CTest_led2Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CString str,str1;
CPen pen;
pen.CreatePen(PS_SOLID,2,RGB(255,255,0));
CPen* pOldPen = pDC->SelectObject(&pen);
CFont font;
CFont* pOldFont = NULL;
font.CreateFont(
30, // nHeight
0, // nWidth
0, // nEscapement
0, // nOrientation
FW_BOLD, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
ANSI_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
_T("Arial Black")
);
pOldFont = pDC->SelectObject(&font);
RECT rc = CRect(100,200,300,16);
str = "中ab华bc人cm民ck共fk和dd国我的祖国,热爱中国共产党,白鸽在飞翔,天空一声响,***闪亮登场";
LPSTR lpsz = (char*)(const char*)str;
LPSTR lpsz1= (char*)(const char*)str1;
HDC hDC;
hDC = pDC->GetSafeHdc();
StepText(hDC,&rc,lpsz);
// pDC->TextOut(0,0,lpsz1);
pDC->SelectObject(pOldPen);
if(pOldFont) pDC->SelectObject(pOldFont);
font.DeleteObject();
}
{
CTest_led2Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
CString str,str1;
CPen pen;
pen.CreatePen(PS_SOLID,2,RGB(255,255,0));
CPen* pOldPen = pDC->SelectObject(&pen);
CFont font;
CFont* pOldFont = NULL;
font.CreateFont(
30, // nHeight
0, // nWidth
0, // nEscapement
0, // nOrientation
FW_BOLD, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
ANSI_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
_T("Arial Black")
);
pOldFont = pDC->SelectObject(&font);
RECT rc = CRect(100,200,300,16);
str = "中ab华bc人cm民ck共fk和dd国我的祖国,热爱中国共产党,白鸽在飞翔,天空一声响,***闪亮登场";
LPSTR lpsz = (char*)(const char*)str;
LPSTR lpsz1= (char*)(const char*)str1;
HDC hDC;
hDC = pDC->GetSafeHdc();
StepText(hDC,&rc,lpsz);
// pDC->TextOut(0,0,lpsz1);
pDC->SelectObject(pOldPen);
if(pOldFont) pDC->SelectObject(pOldFont);
font.DeleteObject();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很明显你得到的句柄是错误的。字符串常量的地址做为句柄?
如果001A0766是一个句柄的十六进制值的话,应该是
hdc = ::GetWindowDC((HWND)0x001A0766);
如果001A0766是一个句柄的十六进制值的话,应该是
hdc = ::GetWindowDC((HWND)0x001A0766);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
写SetCurSelect()就可以把下面的一个项显示在上面了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
hdc = ::GetHdc((HWND)"001A0766");
试试
试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询