CButton Unsichtbar machen?
-
Moin,
hab schon überall gesucht aber nix gefunden.
Ich mach ich einen CButton Unsichtbar. Also wie heisst die Funktion?Habt herzlichen Dank
-
CWnd::ShowWindow() GetDlgItem(IDC_MYBUTTON)->ShowWindow(SW_HIDE); // oder m_myButton.ShowWindow(SW_HIDE);
-
DU solltest den Button zusätzlich noch disablen mit
btn.EnableWindow(FALSE);
-
so:
Aktivieren/Deaktivieren
GetDlgItem(IDC_BUTTON1)->EnableWindow(FALSE); <-- FALSE = Deaktiviert TRUE = Aktiviert
sichtbar/unsichtbar
GetDlgItem(IDC_BUTTON1)->ShowWindow(FALSE); <-- FALSE = unsichtbar TRUE = sichtbar

-
hallo,
leider klappt das so nicht bei mir. beim compilen schießt es ihn immer in der function:
BOOL CWnd::ShowWindow(int nCmdShow) { ASSERT(::IsWindow(m_hWnd) || (m_pCtrlSite != NULL)); if (m_pCtrlSite == NULL) return ::ShowWindow(m_hWnd, nCmdShow); else return m_pCtrlSite->ShowWindow(nCmdShow); }in dieser Zeile ab:
ASSERT(::IsWindow(m_hWnd) || (m_pCtrlSite != NULL));Denn die GetDlgItem liefert einen NULLpointer zurück, warum was mache ich falsch? Vermutlich weiß er nicht welchen button er öffnen soll... weiß nicht mehr weiter. Vielen Dank.
-
Zieg mal den Code wo Du das machst.
Scheinbar existiert der Button noch nicht.
-
An welcher Stelle versuchst Du denn diesen Button zu verstecken, bzw. zu deaktivieren? Im Konstruktor? Wenn ja ... versuch es mal in OnInitDialog() hinter dem aufruf der Basisklassenmethode.
-
und oder hast du auch bei GetDlgItem() die richtigen Resourcen-ID angegeben?
also die von dem gewünschten button.edit:
okay, zu schnell gepostet, da der in das assert von CWnd reingelaufen ist, ist der GetDlgItem() auch nicht null, sorry