抱歉!因為我是新手,所以可能問的很基本...目前使用VC 2003/2005(希望先進幫忙一下,最好能有sample code)Q1.請問MFC的Dialog,如何將Push Button上的(文字或數字)值,顯示在TextBox或Edit Control?Q2.請問MFC的Dialog,如何取得TextBox的的(文字或數字)值,並顯示在另一個TextBox或Edit Control?Q2.請問MFC的Dialog,如何選出Listbox的選項(可多重選),並顯示另一個listbox,並且可以移除(有點像是安裝選單)?

解决方案 »

  1.   

    1   你可以先拿到Push Button上的(文字或數字)值  GetWindowText   然后  在SetWindowText到TextBox2   同上 3   没看懂什么意思   
      

  2.   

    第三个 看懂了   你可以响应单击事件  在另外一个ListBox里面设置啊  代码不好写  主要操作方面比较多  
      

  3.   

    謝謝(iplj先進)您的回覆!但我還是不太會舉一反三!GetWindowText與SetWindowsText的函式,我在論壇找到以下一段代碼(sample code):  CString   str1; //定義字串  
      CEdit   *pEdit   =   (CEdit*)GetDlgItem(IDC_EDIT1);   //利用CEdit取得 IDC_EDIT1 的項目
      pEdit->GetWindowText(str1);   
      (CEdit*)GetDlgItem(IDC_EDIT2)->SetWindowText(str1);
    //如果是listbox,則是listbox變數名.AddString((LPCTSTR) str1);取TextBox1的數值,顯示在另一個TextBox2或Listbox的代碼但是如果改成取Push Button上的(文字或數字)值?這個我就不會改了...
    可以再麻煩一下?
      

  4.   

    按钮上的文字没弄过,只让他变化过。edit中的直接GetDlgItem(id)->SetWindowText("XXX");
    如果两个edit之间直接关联变量用UpDateData()进行关联显示就行~
      

  5.   

    照上面的代碼如果我要制作 clear Button便是  CString  str1; //定義字串 
      CEdit  *pEdit  =  (CEdit*)GetDlgItem(IDC_EDIT1);  //利用CEdit取得 IDC_EDIT1 的項目
      pEdit->GetWindowText(str1); 
      (CEdit*)GetDlgItem(IDC_EDIT2)->SetWindowText("");
    //如果是listbox,則是listbox變數名.ResetContent();
      

  6.   

    LZ是台湾同胞??
    1、获取Button的文字
    2.将获取的文字设置到EditZ中!
    GetWindowText
    SetWindowText
      

  7.   

    是呀!
    GetWindowText
    SetWindowText 用CString 會不會有  型態錯誤?
      

  8.   

    装一个MSDN吧,对你有好处
      

  9.   

    Saimen  您的第三項回覆,小弟有問題!以下為小弟網上詢的代碼:Q3.請問MFC的Dialog,如何選出Listbox的選項(可多重選),並顯示另一個listbox,並且可以移除(有點像是安裝選單)? BOOL CCtestDlg::OnInitDialog()
    {
    CDialog::OnInitDialog(); // 將 "關於..." 功能表加入系統功能表。 // IDM_ABOUTBOX 必須在系統命令範圍之中。
    ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
    ASSERT(IDM_ABOUTBOX < 0xF000); CListBox* pListA=NULL;
        
    pListA=(CListBox*)GetDlgItem(IDC_LIST1);
    pListA->InsertString(0,"炒麵");
    pListA->InsertString(1,"炒飯");
    pListA->InsertString(2,"排骨麵");
    pListA->InsertString(3,"排骨飯");
    pListA->InsertString(4,"肉燥飯");
    pListA->InsertString(5,"肉燥麵"); CButton* BTN=NULL;
        BTN=(CButton*)GetDlgItem(IDC_BUTTON1);
    BTN->SetWindowText(">>");
        BTN=(CButton*)GetDlgItem(IDC_BUTTON2);
    BTN->SetWindowText("<<");
      return TRUE;
    }void CCtestDlg::OnBnClickedButton1()
    {
    // TODO: 在此加入控制項告知處理常式程式碼    CListBox* LSTBX1=NULL;
        CListBox* LSTBX2=NULL;
    CString tmp;
        LSTBX1=(CListBox*)GetDlgItem(IDC_LIST1);
        LSTBX2=(CListBox*)GetDlgItem(IDC_LIST2);
    if(LSTBX1->GetAnchorIndex()<0)
    {
    return;
    }
    LSTBX1->GetText(LSTBX1->GetAnchorIndex(),tmp);
    LSTBX2->AddString(tmp);
    LSTBX1->DeleteString(LSTBX1->GetAnchorIndex());
    }void CCtestDlg::OnBnClickedButton2()
    {
    // TODO: 在此加入控制項告知處理常式程式碼 CListBox* LSTBX1=NULL;
        CListBox* LSTBX2=NULL;
    CString tmp;
        LSTBX1=(CListBox*)GetDlgItem(IDC_LIST1);
        LSTBX2=(CListBox*)GetDlgItem(IDC_LIST2);
    if(LSTBX2->GetAnchorIndex()<0)
    {
    return;
    }
    LSTBX2->GetText(LSTBX2->GetAnchorIndex(),tmp);
    LSTBX1->AddString(tmp);
    LSTBX2->DeleteString(LSTBX2->GetAnchorIndex());
    }