Chinaunix

标题: 請教個兩類之間參數傳遞的問題 [打印本页]

作者: yych    时间: 2004-09-21 10:49
标题: 請教個兩類之間參數傳遞的問題
我正進行一個程序﹐
在ASSView.CPP和ASSView.h是主文件對應主界面
在主界面內有個數組參數
我想實現的是點擊主界面內的一個命令按鈕彈出一個對話框﹐
在打開的同時﹐在子界面內的List control中顯示主程序中數組的內容
我是這樣實現的
把子界面對應的類聲明為主類的友類﹐
ASSView.h中
class ASSView
{friend class B;
}
子類對應程序為B.h
B.h內容是
class B
{
CASSView m_mm;
}
重新編譯子界面的初始函數
BOOL B::OnInitDialog()
{for(int i,i<m_mm.array.getsize();i++)
ctr_RL.InsertItem(0,m_mm.array);//插入行
}
編譯是沒問題﹐數組在ASSView.cpp中已會付值﹐
但在B中數組的個數為0﹐內容也這空
為什么啊?
請各位大俠指教﹐該如何改正
作者: aXe    时间: 2004-09-21 11:06
标题: 請教個兩類之間參數傳遞的問題
因为你class B里的对象和主界面的对象不是同一个。
你可以定义成CASSView* m_mm指针形式,然后在构造B时赋值。
作者: yych    时间: 2004-09-21 11:43
标题: 請教個兩類之間參數傳遞的問題
因為ASSView中的數組值是從文件讀入的
并且在B中還要用到ASSView中的函數﹐

并且﹐我不大清楚如何在B的構造函數中付值﹐才能得到ASSView中已付的值﹐能不能請大俠說清楚一些
不好意思﹐我很菜。望指點
作者: yych    时间: 2004-09-23 15:34
标题: 請教個兩類之間參數傳遞的問題
原來的問題已經解決了﹐但又出現了新的問題了
如何實現點擊list control的第一列中的某一項時﹐在另一個控件中顯示其特性值
如何得到該行的idex﹐并取得字符串
下面是我的程序
void BClass::OnItemchangedList4(NMHDR* pNMHDR, LRESULT* pResult)
{
     NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
     // TODO: Add your control notification handler code here
    int i=ctr_list.GetSelectedCount();
    CString s;
   s=ctr_list.GetItemText(i,0);//該行中的第一列字符
   loadDirWL(i);//讀特性函數
   *pResult = 0;
}
這是第一次改變還能實現﹐但后面的就不行了
不知為什么?
請各位大俠幫幫忙
作者: yych    时间: 2004-09-26 08:10
标题: 請教個兩類之間參數傳遞的問題
各位大俠幫幫忙啊    




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2