Skocz do zawartości

Komponenty jak VCL


Recommended Posts

Napisano

Czy da się w WinAPI robić komponenty żeby można je było stworzyć przy pomocy CreateWindow (takie jak 'BUTTON', 'EDIT' offcorz)? Oczywiście poza WM_PAINT itp. bo tyle to sam umiem zrobić.

Napisano

Jemu chodzi o to zeby np samemu zrobic jakas nowa klase i zeby potem mozna bylo za pomoca CreateWindow tworzyc nowe te "komponenty".
Czyli np CreateWindow("MojaKontrolka",...) no i by powstawlala na podstawie prototypu, ktory tak keidys sobie utworzyl i szczerze mowiac mnie tez interesuje to czy da sei jakos takie cos zrobic.

Napisano

A nie wydaje sie wam, ze systemowe kontrolki to nie sa zwyklymi okienkami, ktore mimo wszystko i tak musza obslugiwac komunikaty jak np. WM_PAINT? Zobaczcie, ze ta pozycja w CreateWindow dotyczy klasy, ktora wczesniej jest zadeklarowana poprzez RegisterClass. I tak samo robi system, tylko rejestruje po starcie systemu. Tylko ze w bibliotekach systemowych dll ze wspoldzielonymi danymi.

Napisano

Spróbowałem się pobawić w WM_PAINT, a teraz zobaczcie https://free.of.pl/s/szatkus/comp.exe i spróbujcie odgadnąć, jedynie na oko, który button narysowałem, a który zrobiłem przez CreateWindow. Efekt widać tylko na Winie mniej niż XP.

Napisano
Twardy napisał:
A nie wydaje sie wam, ze systemowe kontrolki to nie sa zwyklymi okienkami, ktore mimo wszystko i tak musza obslugiwac komunikaty jak np. WM_PAINT? Zobaczcie, ze ta pozycja w CreateWindow dotyczy klasy, ktora wczesniej jest zadeklarowana poprzez RegisterClass. I tak samo robi system, tylko rejestruje po starcie systemu. Tylko ze w bibliotekach systemowych dll ze wspoldzielonymi danymi.

Super, kazdy chyba sie domyslil ale ja jzu tak sprobowalem i zrobilem sobie ladna kalse ktora tworzy okienko i ona miala byc jako klasa ktora kazdy komponent mialby dziedziczyc. Ale jak utworzylem okno w pozycji (0,0) to okno bylo w pozycji (0,0) na ekranie a nei w danym oknie mimo ze dalem podczas tworzenia mojego komponetnu parenta jako moje okno glonwe. Czy ma ktos na to jaksi pomysl. Tylko nie mowice ze mam prostu samsobie przeliczac przesuniecie i sam mam sobie obcinac "komponent" jak wyjdzie poza okno.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...