Avatar billede egoselv Nybegynder
15. august 2003 - 14:04 Der er 3 kommentarer og
1 løsning

Fjern OK og Annuller i PropertySheet DoModal

Haves:
    ......
    CPropertySheet sheet("Example Sheet");
    CMenuPage menupage;
    CSetupPage setuppage;

    sheet.AddPage(&menupage);
    sheet.AddPage(&setuppage);

    // Hide Apply and Help Buttons
    menupage.m_psp.dwFlags = 0;
    setuppage.m_psp.dwFlags = 0;
    sheet.m_psh.dwFlags = PSH_PROPSHEETPAGE;
    sheet.m_psh.dwFlags |= PSH_NOAPPLYNOW;

    int nResponse = sheet.DoModal();

    if (nResponse ....

Ønskes:
Gemme eller fjerne OK og Annuller knapperne!
Avatar billede jpk Nybegynder
15. august 2003 - 15:19 #1
Hvad med understående, virker det ikke..?

CWnd* pOkButton = GetDlgItem(IDOK);
ASSERT(pOkButton);
pOkButton->ShowWindow(SW_HIDE);

CWnd* pCancelButton = GetDlgItem(IDCANCEL);
ASSERT(pCancelButton);
pCancelButton->ShowWindow(SW_HIDE);
Avatar billede dilleberg Nybegynder
17. august 2003 - 22:07 #2
Dit PropertySheet får først et gyldigt HWND når DoModal kaldes.
Hvis du inden kaldet af DoModal forsøger følgende:

  CWnd * pCtrl = sheet.GetDlgItem(IDCANCEL);

får du en Exception.
I stedet kan du tilføje følgende til en af dine PropertyPage :

  CWnd * pCtrl = GetParent()->GetDlgItem(IDCANCEL);
  if (pCtrl != NULL)
    pCtrl->ShowWindow(SW_HIDE);

Et passende sted kunne f.eks. være i CMenuPage::OnInitDialog()

db
Avatar billede egoselv Nybegynder
18. august 2003 - 10:34 #3
Jeg har gjort følgende:

class CTheSheet : public CPropertySheet

BOOL CTheSheet::OnInitDialog()
{
    BOOL bResult = CPropertySheet::OnInitDialog();
   
    // TODO: Add your specialized code here
    CWnd* pOkButton = GetDlgItem(IDOK);
    ASSERT(pOkButton);
    pOkButton->ShowWindow(SW_HIDE);

    CWnd* pCancelButton = GetDlgItem(IDCANCEL);
    ASSERT(pCancelButton);
    pCancelButton->ShowWindow(SW_HIDE);
   
    return bResult;
}

BOOL CModalTabApp::InitInstance()
{
...
CTheSheet* sheet = new CTheSheet("Example Sheet");
...
...
int nResponse = sheet->DoModal();
...
if (nResponse == IDOK)
...
}
Min konklusionen er, at I begge har ret, jeg siger tak og fordeler pointene ligeligt.
Avatar billede egoselv Nybegynder
18. august 2003 - 10:42 #4
Jeg accepterede svarene, men det er vist ikke lykkedes mig at fordele noget som helst.
Hvordan fordeler jeg pointene????
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester