Jak utworzyć dynamiczne kontrolki MFC i obsłużyć mapy komunikatów kontrolek w czasie wykonywania?Jak tworzyć formanty w czasie wykonywania?
Odpowiedz
To naprawdę zależy od tego, które kontrolki chcesz utworzyć, zwłaszcza jeśli chcesz wiedzieć, które flagi powinny być ustawione. Ogólnie rzecz biorąc jest to następujące:
Normalnie kontrola pochodna CWnd jest tworzona przy użyciu Create
lub CreateEx
. Dla CButton, na przykład:
CButton button;
button.Create("Button text", WS_CHILD | WS_VISIBLE | WS_TABSTOP | BS_PUSHBUTTON | DT_CENTER, CRect(5, 5, 55, 19), this, nID);
gdzie CRect
określa położenie przycisku, this
jest wskaźnikiem do okna nadrzędnego, a nID
jest identyfikator kontrola.
Jeśli kontrola nie wychodzi zgodnie z oczekiwaniami, prawdopodobnie wynika to z braku niektórych flag. Proponuję narysować próbkę kontrolną w trybie projektowania, sprawdzić kod tej kontrolki w pliku RC i skopiować flagi do wywołującego Create
.
Jeśli chodzi o mapy wiadomości, są one zwykle kierowane do okna nadrzędnego. Wartość nID
używana w Create
jest tutaj ważna, ponieważ będzie to liczba identyfikująca kontrolkę na mapie komunikatów. Jeśli masz stałą liczbę kontrolek, możesz kodować na stałe numery nID
dla kontrolek (na przykład od 10 000); jeśli nie, będziesz musiał określić sposób, w jaki okno nadrzędne będzie je identyfikować. Następnie wystarczy dodać wpisy mapy wiadomości.
ON_BN_CLICKED(10000, OnBnClicked)
ON_CONTROL_RANGE(BN_CLICKED, 10010, 10020, OnBtnsClicked)
Możesz korzystać z mapy ON_CONTROL_RANGE
wiadomość do mapowania zakres identyfikatorów do tej samej funkcji.
- 1. Jak tworzyć formanty, takie jak okna dialogowe w Ember?
- 2. Jak tworzyć wykres liniowy w czasie rzeczywistym?
- 3. Awaria OCMock w czasie wykonywania
- 4. Ładowanie XAML w czasie wykonywania?
- 5. Jak zablokować orientację w czasie wykonywania
- 6. Jak pozbyć się LD_LIBRARY_PATH w czasie wykonywania?
- 7. WPF: Jak zmienić CurrentUICulture w czasie wykonywania
- 8. jak zmienić typ instancji w czasie wykonywania
- 9. Jak zmienić lokalizację strony w czasie wykonywania
- 10. Jak zmienić rozszerzenie pliku w czasie wykonywania
- 11. Jak uzyskać preferencje dzwonka w czasie wykonywania?
- 12. Jak dostosować poziomy log4j w czasie wykonywania?
- 13. Jak uzyskać JavaDoc metody w czasie wykonywania?
- 14. Jak uzyskać typ ogólny w czasie wykonywania?
- 15. metoda wywołania w czasie wykonywania
- 16. Powielanie składników w czasie wykonywania
- 17. Clojure - jak tworzyć formularze def oceniać w czasie wykonywania zamiast kompilacji
- 18. Rejestrowanie metoda czasie wykonywania
- 19. Narzędzia Java do łączenia wykonywania w czasie wykonywania z pokryciem
- 20. Renderowanie obrazu w czasie wykonywania w WPF
- 21. Jak ustalić, czy metoda jest asynchroniczna w czasie wykonywania
- 22. Chcę uzyskać typ zmiennej w czasie wykonywania
- 23. Tworzenie komponentów w czasie wykonywania - Delphi
- 24. Zmiana właściwości w czasie wykonywania log4j
- 25. Luigi - Niespełnione% s w czasie wykonywania
- 26. Używanie łańcucha jako zmiennej w czasie wykonywania
- 27. Lista zaćmienie zainstalowanych wtyczek w czasie wykonywania
- 28. Zmienianie LD_LIBRARY_PATH w czasie wykonywania dla ctypów
- 29. Zamek Windsor rozwiązuje w czasie wykonywania
- 30. Zmiana implementacji/klasy w czasie wykonywania