在SDK编程中ComboBox中显示数据问题(求救)

竹君子 2004-04-02 02:26:31
我在写一个sdk程序使,需要在对话框中的ComboBox里显示数据;
因为不是MFC,不能继承类,也不能直接在属性里设置,只能通过其他途径了
请问有甚么好的解决方法吗?
谢谢了
...全文
72 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
竹君子 2004-04-02
  • 打赏
  • 举报
回复
这样写对吗?
VOID NEAR AddComboBox( HWND hCtrlWnd, DWORD NEAR *npTable,WORD wTableLen)
{

int i;

for( i=0;i<wTableLen;i++)
{
SendMessage( hCtrlWnd, CB_ADDSTRING, 0,(LPARAM) (LPSTR) *(npTable + i) );
}

} // end of AddComboBox()
ymbymb 2004-04-02
  • 打赏
  • 举报
回复
是重资源中得到字符串,npTable是字符串ID的数组,比如:
DWORD BaudTable[] =
{
CBR_110, CBR_300, CBR_600, CBR_1200, CBR_2400,
CBR_4800, CBR_9600, CBR_14400, CBR_19200, CBR_38400,
CBR_56000, CBR_57600, CBR_115200, CBR_128000, CBR_256000
} ;
应为这个函数是重别的地方搬来的,有些东西用不着,你还是在第二个函数外加个循环好了
竹君子 2004-04-02
  • 打赏
  • 举报
回复
ymbymb() :你的 第二段代码我会用了,但第一段更适合吧,因为下拉框里的数据是从数据库中得到的,是一个列表
该怎么使用那
再次谢谢
ymbymb 2004-04-02
  • 打赏
  • 举报
回复
VOID NEAR AddComboBox( HWND hCtrlWnd, char* sText)
{
SendMessage( hCtrlWnd, CB_ADDSTRING, 0,
(LPARAM) (LPSTR) sText) ) ;

} // end of AddComboBox()
这个函数够简单了吧,hCtrlWnd是你的Combox的句柄, sText是你要添加的字符串,调用一次在组合框中添加一项
clife 2004-04-02
  • 打赏
  • 举报
回复
SendMessage(
(HWND) hWnd, // handle to destination window
CB_ADDSTRING, // message to send
(WPARAM) wParam, // not used; must be zero
(LPARAM) lParam // string to add (LPCTSTR)
);
竹君子 2004-04-02
  • 打赏
  • 举报
回复
不好意思,如何引用那
ymbymb 2004-04-02
  • 打赏
  • 举报
回复
VOID NEAR FillComboBox( HINSTANCE hInstance, HWND hCtrlWnd, int nIDString,
DWORD NEAR *npTable, WORD wTableLen,
DWORD dwCurrentSetting )
{
char szBuffer[ MAXLEN_TEMPSTR ] ;
WORD wCount, wPosition ;

for (wCount = 0; wCount < wTableLen; wCount++)
{
// load the string from the string resources and
// add it to the combo box

LoadString( hInstance, nIDString + wCount, szBuffer, sizeof( szBuffer ) ) ;
wPosition = LOWORD( SendMessage( hCtrlWnd, CB_ADDSTRING, 0,
(LPARAM) (LPSTR) szBuffer ) ) ;

// use item data to store the actual table value

SendMessage( hCtrlWnd, CB_SETITEMDATA, (WPARAM) wPosition,
(LPARAM) *(npTable + wCount) ) ;

// if this is our current setting, select it

if (*(npTable + wCount) == dwCurrentSetting)
SendMessage( hCtrlWnd, CB_SETCURSEL, (WPARAM) wPosition, 0L ) ;
}

} // end of FillComboBox()
例行更新,不过本次有新组件加入,感觉这次的组件早就应该有了,居然到现在才加入进来,不管怎么说有总比没有好。这次还是以改进为主,改进项占了大多数。废话不多说具体内容大家看更新说明吧!另外由于经常收到chm格式文件无法用的反馈,其实不是无法用,只是要授权。虽然已经解释多遍,但是依然有人不知道,索性就取消chm格式的文档了,今后统一采用exe+pdf格式,由于目前尚无时间制作pdf格式的api文档,所以1.5版只有exe的,pdf格式将在下一版提供。 jQuery EasyUI 1.5版本更新内容: Bug(修复) combobox:修复在加载包含所选项数据的时候不会触发“onSelect”事件的BUG; datagrid:修复在字段设置为一个空值的时候导致在某些情况下“updateRow”方法无法正常工作的BUG。 Improvement(改进) 一个label标签可以被关联到任意表单的字段上; combobox:改进在下拉项“select”和“unselect”的规则; combobox:添加“limitToList”属性来限制只能输入在列表项的内容; combogrid:允许用户快速克隆组件; form:添加“dirty”属性,允许用户只发送变更的字段内容; form:添加“resetDirty”方法; datagrid:允许用户在没有数据的时候显示一条消息(比如:无记录); textbox:添加“label”、“labelWidth”、“labelPosition”和“labelAlign”属性; spinner:添加“spinAlign”属性; calendar:允许用户在日历组件上显示周数(今年的第几周); window:添加“constrain”属性。 New Plugin(新组件) passwordbox:该插件允许用户在具有更好交互功能的输入框输入密码; combotreegrid:该插件结合了combobox和treegrid组件。

16,470

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧