własne controlki w dialogach - z rc

własne controlki w dialogach - z rc
0

Można wstawić własne kontrolki do dialogu w rc, i żeby to potem działało tak samo jak te standardowe - button, static, itd.?

Co należy zrobić w programie - wystarczy zarejestrować odpowiednią klasę okna dla danej kontrolki i to już pójdzie samo?

Konkretnie chciałem zrobić przycisk, który wyświetla bitmapę zamiast tekstu, ale którą sam ładuje i zwalnia.

Obecnie można to zrobić za pomocą zwykłego button, ale wtedy muszę wrzucać bitmapy za pomocą BS_SETIMAGE, więc trza ładować i usuwać bitmapy w każdym dialogu... co mnie wkurza.

Aha! Jeszcze jedna sprawa: czy radio button i check może wyświetlać bitmap, obok tego kółeczka/krateczki, zamiast tekstu?

0

Migruj na C# i WinForms.

0
Spejson napisał(a):

Migruj na C# i WinForms.

Nie zamierzam. C++ ma zdecydowanie większe możliwości.

0
record napisał(a):
Spejson napisał(a):

Migruj na C# i WinForms.

Nie zamierzam. C++ ma zdecydowanie większe możliwości.

To gdzie ta możliwość o którą pytasz?

0

Właśnie jestem w trakcie jej realizacji.

Azarien
  • Rejestracja:ponad 21 lat
  • Ostatnio:około 14 godzin
0

Można wstawić
Dłuższe pytania zaczynaj partykułą „czy” jeśli nie ma zaimka pytającego, by od początku było wiadomo że to będzie pytanie.

Czy można wstawić...

własne kontrolki do dialogu w rc, i żeby to potem działało tak samo jak te standardowe - button, static, itd.?

Nie wiem, nie używam dialogów rc - zawsze tworzę kontrolki ręcznie przez CreateWindow.
Z punktu widzenia WinAPI standardowe kontrolki nie są magiczne, i bez problemu można zarejestrować własną klasę i jej tak samo używać.
Ale nie wiem czy i na ile pliki .rc obsługują niestandardowe klasy.

Obecnie można to zrobić za pomocą zwykłego button, ale wtedy muszę wrzucać bitmapy za pomocą BS_SETIMAGE, więc trza ładować i usuwać bitmapy w każdym dialogu... co mnie wkurza.

Być może pomocą tu będzie subclassing.

0
Azarien napisał(a):

Nie wiem, nie używam dialogów rc - zawsze tworzę kontrolki ręcznie przez CreateWindow.

Zbędna męka...

Azarien napisał(a):

Ale nie wiem czy i na ile pliki .rc obsługują niestandardowe klasy.

W zasadzie nie obsługują, jedynie pozwalają wstawiać tzw. custom control, czyli wpisujesz nazwę klasy i określasz rozmiar, label, oraz styl i exstyl.
Potem jest to rysowane w edytorze dlg w rc jako taki szary prostokąt...

Być może pomocą tu będzie subclassing.

To wymaga większej roboty niż wrzucenie BM_SETIMAGE w standard button...
a ja zamierzam nic nie robić, poza rejestracją klasy i napisaniem jednej funkcji, którą potem windows sam sobie już wywołuje.

Ciekawe dlaczego static potrafi ładować samodzielnie te ikony i bitmapy, a butony już nie... chyba jakaś fuszerka.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.