Ich habe die Element ID, wie komme ich an den Objektzeiger?
-
Folgendes Problem:
Ich habe eine Funktion mit bestimmten Übergabeparametern.void CDigitalIO::SetInputStatus(CButton* InBut, bool anaus) { HBITMAP bitmap; b2=::LoadBitmap(::AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_GRUEN)); if(anaus == 1) bitmap = ::LoadBitmap(::AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_GRUEN)); else bitmap = ::LoadBitmap(::AfxGetInstanceHandle(), MAKEINTRESOURCE(NULL)); InBut->SetBitmap(bitmap); UpdateData(FALSE); }Diese möchte ich jetzt ändern.
Ich will nämlich nicht den Zeiger, sondern die ID übergeben.
etwa so:void CDigitalIO::SetIS(int ButtonID, bool anaus) //1. Parameter soll jetzt die ID sein { HBITMAP bitmap; b2=::LoadBitmap(::AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_GRUEN)); if(anaus == 1) bitmap = ::LoadBitmap(::AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_GRUEN)); else bitmap = ::LoadBitmap(::AfxGetInstanceHandle(), MAKEINTRESOURCE(NULL)); GetDlgItem(ButtonID)->SetBitmap(bitmap); // Wird nicht unterstützt UpdateData(FALSE); }Mein Problem ist nur, das die Funktion
GetDlgItem(ButtonID)->SetBitmap(bitmap);Nicht Funktioniert.
Kann jemand mir einen Tip geben?
-
CButton *pButton = (CButton*)GetDlgItem(ButtonID); pButton ->SetBitmap(bitmap);
-
Ähm. Ja.
Das ist mal eine kurze, konkrete und richtige Antwort.
Hat natürlich geklappt.
DANKEBYE