Trust Napisano Styczeń 1, 2019 Autor Zgłoś Udostępnij Napisano Styczeń 1, 2019 troche banalne pytanie ale nigdzie nie moge znalezc odpowiedzi wienc jakim stylem (albo czyms innym) ustawic okno na sronku ekranu (odrazu po wlonczeniu) Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Nemo Napisano Styczeń 1, 2019 Zgłoś Udostępnij Napisano Styczeń 1, 2019 Eh wystarczy pomsylec. Jak tworzysz okno za pomoac CreateWindows to podajesz X,Y,szeroskoc i wysokosc okna - wiec wystarczy pobrac wielskoc ekranu i okno odpwoeidnio ustawic. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Trust Napisano Styczeń 1, 2019 Autor Zgłoś Udostępnij Napisano Styczeń 1, 2019 ale mi to rozwiozanie , na kazdym innym monitorze (z innom rozdzielczosciom oczywiscie)bedzie gdzie indziej !!!!!!!!!!!!!!!!!! hahaha help me please! Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Aspect Napisano Styczeń 1, 2019 Zgłoś Udostępnij Napisano Styczeń 1, 2019 RUF3K napisał: ale mi to rozwiozanie , na kazdym innym monitorze (z innom rozdzielczosciom oczywiscie)bedzie gdzie indziej !!!!!!!!!!!!!!!!!! hahaha help me please! Najwyraźniej nie zrozumiałeś propozycji Piasia (prawdopodobnie dlatego, że nie została napisana w l33t). Na przyszłość dokładniej czytaj posty, bo przez wyśmiewanie dobrych podpowiedzi sam narażasz się na śmieszność. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Omega Napisano Styczeń 1, 2019 Zgłoś Udostępnij Napisano Styczeń 1, 2019 Najlatwiej to pobrac szerokosc i wysokosc ekranu aby na poczatku wyznaczyc jego srodek. Zeby to osiagnac nalezy pobrana wysokosc i szerokosc podzielic przez 2 (ALE UWAGA!!!) - przez dwa bez reszty, bo liczby zmiennoprzecinkowe nas nie interesuja. Samo pobranie tych parametrow mozemy zrealizowac przez odpwiednie funkcje api, ktora nazwano: GetSystemMetrics. Dodatkowo w nich trzeba wpakowac odpowiednie stale, tj: SM_CXSCREEN : jak latwo sie domyslic ta stala pozwoli zwrocic szerokosc SM_CYSCREEN natomiast ta, nie szerokosc jak niektorzy mogli by sie domyslic, ale (i tu niespodzianka) wysokosc. Po tak skomplikowanej operacji mamy wyznaczony srodek ekranu. Nastepnie pozostaje nam wysokosc i szerokosc samego okna podzielic na pol (i tu niektorzy bystrzaki domysla sie, ze chodzi o dzielenie bez reszty). No reszta to juz z gorki. Teraz dla polozenia x(x - to zmienna reprezentujaca polozenie horyzontalne) wystarczy od srodka odjac powstala zmienna. I tak samo zachodzi dla polozenia y (y - zmienna reprezentatywna dla polozenia wysokosci). Adam Słodowy. Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Habit Napisano Styczeń 2, 2019 Zgłoś Udostępnij Napisano Styczeń 2, 2019 ruf3k wez sobie dialog boxa zapusc i daj mu tylko styl "DS_CENTER". That's all! Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Gucio Napisano Styczeń 2, 2019 Zgłoś Udostępnij Napisano Styczeń 2, 2019 W message loop: case WM_SHOWWINDOW: CenterDialog(hDlg,GetParent(hDlg)); break; no i implementacja: void CenterDialog(HWND hDlg, HWND Parent) { RECT ParentRect,DlgRect; GetWindowRect(Parent,&ParentRect); GetWindowRect(hDlg,&DlgRect); SetWindowPos(hDlg,HWND_TOP, ParentRect.left+(ParentRect.right-ParentRect.left-(DlgRect.right-DlgRect.left))/2, ParentRect.top+(ParentRect.bottom-ParentRect.top-(DlgRect.bottom-DlgRect.top))/2, 0,0,SWP_NOZORDER | SWP_NOSIZE ); }; Jak chcesz na srodku ekranu to daj jako parent desktop. I wsjo . Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Nemo Napisano Styczeń 2, 2019 Zgłoś Udostępnij Napisano Styczeń 2, 2019 RUF3K napisał: ale mi to rozwiozanie , na kazdym innym monitorze (z innom rozdzielczosciom oczywiscie)bedzie gdzie indziej !!!!!!!!!!!!!!!!!! hahaha help me please! Jak juz Bialy wyzej napisal sam narazasz sie na smiesznosc. Ha ha ha Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Jarema Napisano Styczeń 3, 2019 Zgłoś Udostępnij Napisano Styczeń 3, 2019 Bez dialogów, nic prostszego: int cxChar = LOWORD (GetDialogBaseUnits()); int cyChar = HIWORD (GetDialogBaseUnits()); hwnd = CreateWindow(szAppName, szAppName, WS_OVERLAPPEDWINDOW,(GetSystemMetrics(SM_CXFULLSCREEN) - 50 * cxChar)/2,(GetSystemMetrics(SM_CYFULLSCREEN) - 20 * cyChar)/2, 65 * cxChar, 27 * cyChar,NULL, NULL, hInstance, NULL); Mam nadzieję że to choć trochę jest czytelne Cytuj Link do komentarza Udostępnij na innych stronach More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.