Omega
-
Postów
0 -
Dołączył
-
Ostatnio
Nigdy
Typ zawartości
Profile
Fora
Kalendarz
Articles
Pliki
Posty napisane przez Omega
-
-
U mnie, tj. w win98 to pomaga:
SendMessage(uchwytprzycisku,WM_SETFONT,GetStockObject(DEFAULT_GUI_FONT ),1);
jezeli funkcje chcesz przypisac w komunikacie np. WM_CREATE to na koncu moze byc 0 a nie 1.
-
Bo przyciskow nie da sie tak obsluzyc. Masz jednak 3 wyjscia:
1. wlasna klas,
2. obsluzyc buttona w WM_DRAWITEM
3. subclassowac -
I wlasnie przez subclassowanie da sie to zalatwic. Mozna np. ograniczyc edytowalnosc poprzedniej linii. Ja np. potrzebowalem kiedys zrobic takiego edita, abym mogl w nim wpisywac tylko liczby zmiennoprzecinkowe, ograniczone do dwoch znkow po przecinku. Czyli mozna bylo dodac tylko jeden przecinek i dalej tylko dwie cyfry. I wlasnie subclassowanie wszystko zalatwilo, bo przez nie mozesz ograniczyc pewne ruchy w edytowaniu tekstu.
-
Jest jeszcze inna sztuczka, zeby dodac nowe linie do edita:
SendMessage (hEdit, EM_REPLACESEL, 0, (LPARAM) "Linia #1\r\n"); SendMessage (hEdit, EM_REPLACESEL, 0, (LPARAM) "Linia #2\r\n"); SendMessage (hEdit, EM_REPLACESEL, 0, (LPARAM) "Linia #3\r\n");
-
Jezeli brzydzisz sie mojej twarzy, to twoja sprawa. Ale widze, ze jestes specjalista od sprawiania przykrosci innym. Stary, ja nie jestem zadnym specjalista od programowania. Poscil bym to bez rozglosu. Ale jezeli widze, ze autor portalu pisze dosc ostro, a za nim wtraca sie niecenzuralnie osoba, ktora "ublagala" mozliwosc wklepania swoich wypocin jako nowy artykul. Wybacz, ale taki stan jest wkurzajacy.
Chcialbym dodac do twojeo prostego umyslu, ze asemblera znam juz od dawna i nie potrzebuje naprawde takich prostych art. -
Jezeli mozna sobie troche pofolgowac, to i ja skorzystam. clever, co ty piszesz za bzdury. Jezeli w taki sposob potrafisz wchodzic bez wazeli.. waznym ludziom rzadzacym na forum, to lepiej tego nie okazuj. Na marginesie, twoj artukul dotyczacy kwestii procesu i watku jest marny, bo dotyczy maksymalnych podstaw tej kwestii. Jezeli juz zaczynasz pisac o problemach api z poziomu asemblera, to zacznij przynajmniej od podstaw. Patrzac na art., ktory jest twojego autorstwa, myslalem, ze dowiem sie czegos ciekawego i nowego, a tu nic - stare, znane rzeczy.
-
-
Moze zainteresuja Cie te linki:
https://www.codeproject.com/com/
https://www.programmersheaven.com/zone15/index.htm -
Jezeli chcesz odmalowac w sensie takim, ze okno ma byc rozmiaru bitmapy, to utworz okno tej wielkosci i skorzystaj z bitblt. Jezeli zas to bitmapa ma byc przyporzadkowana to skorzystaj z stretchblt.
A odmalowanie polega na tym, ze jak masz uchwyt mapy, to nastepnie tworzysz kompatybilny kontekst z kontekstem okna (CreateCompatibleDC), nastepnie do niego przypisujesz mape (selectobject) i malujesz (jak wspomnialem wyzej). Wszystko najlepiej wykonac w odpwiednim komunikacie, tj. WM_PAINT. I na koncu nie zapomnij o zwolnieniu pamieci utworzonego kont. - DeleteDC.
That's all - yo 4 all. -
Jezeli sadzisz , ze kazdy co bedzie podawal rozwiazanie jak na talerzu to sie grubo mylisz. Forum jest stworzone nie na rozwiazywanie zadan, tylko dawanie wskazowek. Ale luz - YO 4 ALL.
-
A umiesz korzystac z funkcji SendMessage (tutaj ze stala WM_GETTEXT), lub GetWindowText?
-
ale w delphi:
var Mode:TDeviceMode; S:String; begin with Mode do begin dmSize:=SizeOf(Mode); dmBitsPerPel:=16; dmPelsWidth:=800; dmPelsHeight:=600; dmFields:=DM_PELSWIDTH+DM_PELSHEIGHT; end; case ChangeDisplaySettings(Mode,0)of DISP_CHANGE_SUCCESSFUL:S:='Operacja przebiegła pomyślnie'; DISP_CHANGE_RESTART:S:='Aby zmiany odniosły skutek należy zrestartować systi'; DISP_CHANGE_BADFLAGS:S:='Błędne pole dmFields'; DISP_CHANGE_FAILED:S:='Błąd podczas ustawiania trybu'; DISP_CHANGE_BADMODE:S:='Ten tryb nie jest obsługiwany'; DISP_CHANGE_NOTUPDATED:S:='Rejestr nie został zaktualizowany'; else S:='Nieznany kod wyniku'; end;
czyli funkcja ChangeDisplaySettings
-
Zeby pytanie nie bylo bez odpowiedzi, podam link gdzie znalazlem odpwiedz na zadany problem:
https://www.codeproject.com/win32/nsetfoldericons.asp -
-
A rzuc kodem jak obslugujesz WM_COLORSTATIC
-
Czyli cos znowu blednie wykonujesz. Ja probowalem i jest dobrze.
-
-
-
-
-
-
-
Nie slyszalem o tym, zaby pedzel, czy pioro mialo mozliwosc stopnoiwania koloru, aby moglo byc przezroczyste. Byc moze jest to jakas nowa funkcja w gdi+, ale nic takiego nie slyszalem.
-
if msg=WM_COMMAND then case lParam of uchwytlistboxu:if HIWORD(wParam)=LBN_SELCHANGE then begin //zostal zmieniony end; end;
Czcionka
w C
Napisano
Napisz w jakim systemie operacyjnym tworzysz okno?
Jezeli metoda nie dziala:
Scan = CreateWindow("button", "Scan", WS_CHILD | WS_VISIBLE , 10,10,40,18,OknoJenny, (HMENU)100,Hinstance, NULL);
SendMessage(Scan,WM_SETFONT,GetStockObject(DEFAULT_GUI_FONT ),0);
to trzeba inaczej kombinowac. Nie mam winxp, wiec nic w tym kirunku nie podowiem.