子类化LISTBOX 显示的ITEMS 一切正常, 但是加上OWNERDRAW使用自画例程之后void YCListBox::OnDrawItem (LPDRAWITEMSTRUCT lpdis)
{
.....
.....
.....
cvBack = ::SetBkColor(lpdis->hDC, ::GetSysColor((lpdis->itemState & ODS_SELECTED)
? COLOR_HIGHLIGHT : COLOR_WINDOW)); this->GetText (lpdis->itemID, szBuffer);
::DrawText(lpdis->hDC, szBuffer, -1, &lpdis->rcItem, DT_LEFT | DT_SINGLELINE);
.....
}int YCListBox::GetText (int nIndex, LPTSTR lpszBuffer)
{
return ::SendMessage (m_hWnd, LB_GETTEXT, (WPARAM) nIndex, (LPARAM) lpszBuffer) ;
}GetText得到的数据总是乱码 后来仔细研究一下发现 其实是LB_GETTEXT返回了一个2级指针 奇怪吧? 为什么会这样? 请高手解答。以上是SDK编程 非MFC
{
.....
.....
.....
cvBack = ::SetBkColor(lpdis->hDC, ::GetSysColor((lpdis->itemState & ODS_SELECTED)
? COLOR_HIGHLIGHT : COLOR_WINDOW)); this->GetText (lpdis->itemID, szBuffer);
::DrawText(lpdis->hDC, szBuffer, -1, &lpdis->rcItem, DT_LEFT | DT_SINGLELINE);
.....
}int YCListBox::GetText (int nIndex, LPTSTR lpszBuffer)
{
return ::SendMessage (m_hWnd, LB_GETTEXT, (WPARAM) nIndex, (LPARAM) lpszBuffer) ;
}GetText得到的数据总是乱码 后来仔细研究一下发现 其实是LB_GETTEXT返回了一个2级指针 奇怪吧? 为什么会这样? 请高手解答。以上是SDK编程 非MFC
解决方案 »
- 如何用C++点击当前网页上的按钮?
- MDI多文档多框架
- 嵌入WEB的ACTIVEX,窗口是如何设置的?
- 编译的时候出错了,请教下大家
- 请问'FileCopy' : undeclared identifier怎么办?
- 怎样能建立CPropertySheet窗口时隐藏所有按纽?
- WSAAsyncSelect模型下的Connect超时怎样设置?
- 串口编程中读写到底怎样控制?
- 在MFC扩展Dll中加载资源时遇到的问题
- 如何动态的添加菜单??请高手指教
- 在VC中*.clw文件起什么作用,如果删除重新编译是否会再产生,如果不能会出现什么后果?
- _commandptr 和 _Recordsetptr 的问题
仔细看1下 这就是个内存地址42B0AC 于是跳到这个地址上一看,我要的数据就在那里了。真是奇怪了 LISTBOX怎么会返回一个二级指针? 谁知道怎么回事啊?