VC++6.0环境下如何将需要的内容显示在列表框中?具体一些。。谢谢~~ VC++6.0使用列表框的问题?
vc6.0 \u5982\u4f55\u5728\u5217\u8868\u6846\u4e2d\u9009\u4e2d\u4e00\u4e2a\u9009\u9879,\u7136\u540e\u901a\u8fc7\u6309\u94ae\u5728\u7f16\u8f91\u6846\u663e\u793a\u5bf9\u5e94\u7684\u5185\u5bb9\u8fd9\u4e2a\u6839\u672c\u6709\u6ca1\u5fc5\u8981\u7528\u6309\u94ae \uff0c\u7ed9listbox\u6dfb\u52a0LBN_SELCHANGE\u6d88\u606f\u54cd\u5e94\u51fd\u6570\u5c31\u53ef\u4ee5\u5b9e\u73b0\u4e86
MFC\u5de5\u7a0b\u65b0\u5efa\u597d\u540e\uff0c\u627e\u5230\u521d\u59cb\u5316\u5bf9\u8bdd\u6846\u7684InitDialog\u51fd\u6570\uff0c\u5728\u91cc\u9762\u521d\u59cb\u5316\u5217\u8868\u6846\u63a7\u4ef6\uff0c\u5e76\u6dfb\u52a0\u5143\u7d20\u3002
为了使用列表框控件,首先需要向列表框控件中添加数据。在MFC类库中,列表框控件被封装为CListBox类。CListBox类提供了AddString方法向列表框中添加数据,该方法语法如下:int AddString(LPCTSTR lpszItem);
参数说明如下。
lpszItem:表示向列表中添加的字符串数据。
返回值:表示新添加的数据在列表框中的索引位置。索引从零开始。
例如,下面的语句利用AddString方法向列表中添加数据。
m_DataList.AddString("历史");
m_DataList.AddString("地理");
m_DataList.AddString("政治");
m_DataList.AddString("生物");
m_DataList.AddString("体育");
此外,还可以使用InsertString方法向列表框中添加数据,该方法语法如下:
int InsertString(int nIndex, LPCTSTR lpszItem);
参数说明如下。
þ nIndex:表示列表中的一个索引位置,方法将在该位置处添加数据,如果该参数为-1,则在列表框中数据的末尾位置添加。
þ lpszItem:表示向列表中添加的字符串数据。
返回值:表示新添加的数据在列表框中的索引位置。索引从零开始。
例如,下面的语句应用InsertString方法向列表框中添加数据。
m_DataList.InsertString(0, "历史");
m_DataList.InsertString(1, "地理");
m_DataList.InsertString(2, "政治");
m_DataList.InsertString(3, "生物");
m_DataList.InsertString(4, "体育");
向列表框中添加数据
7.7.2 为列表框中的项目添加复选功能
在使用列表框控件时,有时需要利用列表框进行多项选择。这就需要列表框中的选项具有类似复选框的功能。那么如何让列表框中的数据以复选框的形式显示呢?可以按如下的方法实现。
例7.3 为列表框中的项目添加复选功能。
(1)创建一个基于对话框的工程,向对话框中添加列表框和按钮控件,如图7.49所示。
(2)利用类向导为列表框命名为m_DataList,类型为CListBox,如图7.50所示。
图7.49 对话框资源设计
图7.50 为列表框控件关联名称
(3)在对话框的头文件中将m_DataList的类型CListBox修改为CCheckListBox。
CCheckListBox m_DataList;
CCheckListBox派生于CListBox,它为数据项提供了复选功能。
(4)在列表框的属性窗口中设置Has strings属性,并设置Fixed自绘风格,如图7.51所示。
图7.51 设置列表框属性
(5)在对话框初始化时向列表框中添加数据。
m_DataList.InsertString(0, "历史");
m_DataList.InsertString(1, "地理");
m_DataList.InsertString(2, "政治");
m_DataList.InsertString(3, "生物");
m_DataList.InsertString(4, "体育");
(6)处理“确定”按钮的单击事件,统计用户选择的学科信息。
void CCheckListDlg::OnConfirm()
{
int nItemCount = m_DataList.GetCount(); //获取项目数量
CString szContent, szItemData; //定义字符串变量
szContent = "";
for (int i=0; i<nItemCount; i++) //遍历列表项
{
if (m_DataList.GetCheck(i) == BST_CHECKED) //判断列表项是否被选中
{
m_DataList.GetText(i, szItemData); //获取列表项文本
szContent += szItemData + "\r\n"; //记录列表项文本
}
}
if (!szContent.IsEmpty())
{
MessageBox(szContent, "您选择的学科"); //显示用户选择的信息
}
}
(7)运行程序,效果如图7.52所示。
图7.52 统计列表框信息
7.7.3 同时选择多个项目
默认情况下,列表框控件中的项目只能同时选择一项,但在实际开发中,有时需要选择多项数据。为此,需要设置列表框的Selection属性为Multiple,如图7.53所示。
图7.53 列表框属性设置
这样,在列表框中即可选择多项数据,如图7.54所示。
图7.54 多项选择数据
绛旓細涓轰簡浣跨敤鍒楄〃妗嗘帶浠讹紝棣栧厛闇瑕鍚戝垪琛ㄦ鎺т欢涓坊鍔犳暟鎹傚湪MFC绫诲簱涓紝鍒楄〃妗嗘帶浠惰灏佽涓篊ListBox绫汇侰ListBox绫绘彁渚涗簡AddString鏂规硶鍚戝垪琛ㄦ涓坊鍔犳暟鎹紝璇ユ柟娉曡娉曞涓嬶細int AddString(LPCTSTR lpszItem);鍙傛暟璇存槑濡備笅銆俵pszItem锛氳〃绀哄悜鍒楄〃涓坊鍔犵殑瀛楃涓叉暟鎹傝繑鍥炲硷細琛ㄧず鏂版坊鍔犵殑鏁版嵁鍦ㄥ垪琛ㄦ涓殑绱㈠紩浣嶇疆銆
绛旓細棣栧厛鎶婂厜鏍囩Щ鍔ㄥ埌闇瑕佽缃柇鐐圭殑浠g爜琛屼笂锛岀劧鍚庢寜F9蹇嵎閿脊鍑築reakpoints瀵硅瘽妗锛屾柟娉曟槸鎸夊揩鎹烽敭CTRL+B鎴朅LT+F9锛屾垨鑰呴氳繃鑿滃崟Edit/Breakpoints鎵撳紑銆傛墦寮鍚庣偣鍑籅reak at缂栬緫妗嗙殑鍙充晶鐨勭澶达紝閫夋嫨 鍚堥傜殑浣嶇疆淇℃伅銆備竴鑸儏鍐典笅锛岀洿鎺ラ夋嫨line xxx灏辫冻澶熶簡锛屽鏋滄兂璁剧疆涓嶆槸褰撳墠浣嶇疆鐨勬柇鐐癸紝鍙互閫夋嫨Advanced锛岀劧...
绛旓細鍙屽嚮妗岄潰涓婄殑蹇嵎鍥炬爣锛岃繘鍏isual C++ 6.0闆嗘垚鐜锛屽睆骞曚笂鍑虹幇Visual C++ 6.0鐨勪富绐楀彛銆傚湪涓荤獥鍙g殑椤堕儴鏄富鑿滃崟鏍忥紝鍏朵腑鍖呮嫭9涓彍鍗曢」锛氭枃浠躲佺紪杈戙佹煡鐪嬨佹彃鍏ャ佸伐绋嬨佺粍寤恒佸伐鍏枫佺獥鍙c佸府鍔┿傚乏渚ф槸椤圭洰宸ヤ綔鍖虹獥鍙o紝鍙充晶鏄▼搴忕紪杈戠獥鍙c傝緭鍏ュ拰缂栬緫婧愮▼搴忥細鏂板缓涓涓簮绋嬪簭锛氶夋嫨鈥滄枃浠垛濓紝鐒跺悗鈥滄柊...
绛旓細鑻瑕鍦VC绐楀彛涓嬭繘琛孋绋嬪簭鐨勭紪杈戯紝棣栧厛锛屽崟鍑诲伐鍏锋爮鐨凬ew Text File鎸夐挳锛岀敓鎴愪竴涓柊鐨勬枃鏈枃浠剁獥鍙o紝濡傚浘2鎵绀猴紱鎺ョ潃锛屽崟鍑籗ave鎸夐挳锛屾縺娲烩滀繚瀛樹负鈥濆璇濇锛屽湪鎸囧畾鐨勬枃浠跺す涓嬶紝杈撳叆褰撳墠绋嬪簭鐨勬枃浠跺悕锛堟敞鎰忥細鏂囦欢鍚嶅繀椤荤粰鍑.C鐨勬墿灞曞悕锛夛紝鍐嶆寜鈥滀繚瀛樷濇寜閽傚埌姝や负姝紝鍦ㄦ寚瀹氱殑鐩綍涓嬶紝灏辩敓鎴愪簡涓涓...
绛旓細鍙互鐨勶紝鍙澶嶅埗绮樿创杩涘幓鐒跺悗鍦ㄥ伐绋嬮噷闈㈡坊鍔犵幇鏈夋枃浠跺氨琛屼簡銆俈C鐢ㄧ殑搴撴槸C++鐨勫熀纭搴擄紝QT涔熸敮鎸佺殑銆
绛旓細1銆侀鍏堬紝鎵撳紑鎴戜滑鐨VC++6.0缂栫▼杞欢锛岀偣鍑诲乏涓婅鐨勨滄枃浠垛濊彍鍗曪紝骞堕夋嫨鈥滄柊寤衡濄2銆佹帴鐫锛岄夋嫨鈥渨in32consoleapplication鈥濓紙win32鎺у埗鍙扮▼搴忥級銆3銆佺劧鍚庯紝濉啓濂藉伐绋嬬殑鍚嶇О锛屼互鍙婂垱寤虹殑浣嶇疆锛屽苟鐐瑰嚮鈥滅‘瀹氣濇寜閽4銆佹帴鐫锛屽湪宸ョ▼绫诲瀷涓夋嫨鈥滀竴涓┖宸ョ▼鈥濓紝鐒跺悗锛岀偣鍑烩滃畬鎴愨濇寜閽5銆佹帴鐫锛...
绛旓細VC++6.0瀹炵幇澶氭枃浠剁▼搴忥細1銆佸繀椤诲垱寤哄伐绋嬶紝骞跺皢鏂囦欢鍔犲叆鍚屼竴宸ョ▼涓嬶紱2銆佸繀椤绘湁鑷畾涔夊ご鏂囦欢(.h)灏嗗涓簮鏂囦欢(.c/.cpp)鍏宠仈璧锋潵锛屽苟灏嗗嚱鏁板畾涔夋斁鍦ㄥご鏂囦欢涓傚涓簮鏂囦欢闇瑕鍦ㄨ繖涓獥鍙e垱寤猴細鍒涘缓瀹屾瘯鍚庡鍥撅細
绛旓細1銆佹柊寤篧in32 Console Application宸ョ▼锛屽湪浣犵殑鐢佃剳涓婃壘鍒板浘涓锛堜篃灏辨槸VC6.0锛屽綋鐒朵綘瑕佷簨鍏堝畨瑁呭ソ杩欎釜杞欢锛夛紝鍙屽嚮鎵撳紑VC6.0銆傚湪鑿滃崟鏍忎腑閫夋嫨鈥滄枃浠->鏂板缓鈥濓紙涔熷彲浠ョ洿鎺ョ敤蹇嵎閿瓹trl+n锛夛紝寮瑰嚭涓嬮潰鐨勬妗嗐2銆侀夋嫨浣燙璇█鏂囦欢鐨勫瓨鍌ㄤ綅缃傚涓嬪浘鐨勬楠わ紝鍏堢偣鍑讳綅缃彸涓嬫柟鐨勪笁涓偣锛屼細寮瑰嚭鏈鍙抽潰...
绛旓細绗竴姝ワ細閫夋嫨涓涓紪璇戠幆澧冪幇鍦╓indows绯荤粺鐨勪富娴佺紪璇戠幆澧冩湁VisualStudio锛孊rolandC++Builder锛孌ev-C++绛夛紝瀹冧滑閮芥槸鏀寔OpenGL鐨勩備絾杩欓噷閫夋嫨VC++6.0浣滀负瀛︿範OpenGL鐨勭幆澧冦傜浜屾锛氬畨瑁匞LUT宸ュ叿鍖匞LUT涓嶆槸OpenGL鎵蹇呴』鐨勶紝浣嗗畠浼氱粰鐨勫涔犲甫鏉ヤ竴瀹氱殑鏂逛究锛屾帹鑽愬畨瑁呫俉indows鐜涓瀹夎GLUT鐨勬楠わ細1銆佸皢涓嬭浇鐨...
绛旓細CEdit::SetSel void SetSel( DWORD dwSelection, BOOL bNoScroll = FALSE );void SetSel( int nStartChar, int nEndChar, BOOL bNoScroll = FALSE );Parameters dwSelection Specifies the starting position in the low-order word and the ending position in the high-order word. If the low...