Skocz do zawartości

Complex

Członkowie
  • Postów

    0
  • Dołączył

  • Ostatnio

    Nigdy

Wszystko napisane przez Complex

  1. Jezeli chcesz dowiedziec sie cos o monitorze to pogrzeb w rejestrze. Windows trzyma tam wszystko co mu potrzeba. Kiedys bawiac sie w rejestrze zmienilem rozdzielczosc na 320x240 lol :) Niestety nie pytaj gdzie to jest dokladnie bo robilem to gdzies z 2 lata temu. powodzenia
  2. Complex

    Zmienna jako tekst.

    Helpa do winapi znajdziesz na naszym serwerze ftp.winapi.org plik win32.zip. A serwer rzeczywiscie sie muli. Planowana juz jest zmiana na cos szybszego. W ciagu miesiaca gora dwoch wszystko powinno smigac. pozdro
  3. Complex

    Dll i zasoby

    A ja powiem szczerze, ze nie wiem o co chodzi z tym menu w stylu XP. Moze to przez to, ze juz zapomnialem jak wygladaly inne windy ;)
  4. Complex

    Mierzenie transferu

    Z tego co sie orietuje to w winXP jedynym sposoben jest napisanie sterownika ktory dobiera sie do kernela. To jest wyzsza szkola jazdy. Poszukaj cos na grupach. Ale po polsku raczej nic nie znajdziesz. To nie bedzie proste zadanie ;) powodzenia P.S. Jak cos znajdziesz ciekawego to daj znac. Sam chetnie dowiem sie czegos na ten temat.
  5. Complex

    Tryby odwzorowania

    Postaram sie to blizej wyjaśnic. F. SetViewportOrgEx sluzy do przesuwania punktu (0,0) Przy czym podajemy wartośc o jaka ma sie przesunąć ten pkt. w jednostkach urzadzenia. Czyli w przypadku ekranu sa to piksele a w przypadku drukarki sa to punkty - kazda drukarka ma swoje parametry ilości punktow na cal. W taki przypadku bysmy przesowali punkt (0,0) wlasnie w tych punktach urzadzenia. SetWindowOrgEx sluzy juz nie do zmiany punktu (0,0) ale do przesuwania okna o okreslona wartosc podana w jednostkach logicznych - czyli takich jakie ustawilismy f. SetMapMode. Polecam potestować rozne opcje i przekonac sie jak to tak na prawde dziala. Co do MM_ISOTROPIC i ustawiania jednostek takich jak cm czy pixele to oczywiscie mozna to zrobic. Zastanawiam sie jednak po co skoro inne tryby robia to automatycznie. Jak sie jednak ktos uprze to wystarczy pobrac rozdzielczosc urzadzenia i odpowiednio sobie przeliczyc na pixele. Musze przyznac, ze jeszcze nigdy nie kozystalem z trybu MM_ISOTROPIC i nie wiem jak to dokladnie dziala. Jak masz petzolda. To dokładnie poczytaj i poprobuj. Droga prob i bledow najlepiej poznasz zasade dzialania. ad. P.S. Nasza strona jest przedsiewzieciem w pelni niekomercyjnym. Lepiej nie bede mowil, na czym pracuje nasz serwer i z jakiego lacza kozysta. W niedlugiej przyszlosci powinien poprawic sie odbior naszej strony. pozdrowka :)
  6. Complex

    Zmienna jako tekst.

    DWORD to jest to samo co unsigned long. Wiec podajesz w f. wsprintf %lu. Powodzenia. P.S. Kto pyta nie bladzi ale postaraj sie zaznajomic z helpem. Wiele problemow bedziesz mogl rozwiazac sam, a o to wlasnie chodzi. :)
  7. Odsylam Cie do faq na stronie :)
  8. Mozna to tez zrobić ladując bitmapy na poczatku programu. I wyświetlac je w odpowiednim miejscu. Sprawdzasz sobie gdzie uzytkownik kliknal (w ktory prostokat) i tam wyswietlasz bitmapke. Zapewne ile ludzi na forum to kazdy moglby inna metode wskazac. Wszystko zalezy od Ciebie. Jak bedziesz miala z czyms problem to pisz smialo. Kawalek kodu i dobrze sformulowane pytanie to polowa odpowiedzi ;) pozdro
  9. Rzuc kawalkiem kodu bo nie bardzo rozumiem.
  10. Complex

    Procesor

    Pobaw sie priorytetami procesow. Przegladnij sobie jak w WinXP liste procesow i tam mozesz zmieniac recznie priorytet. Nie polecam priorytetu czasu rzeczywistego przy bardzo wymagajacym programie bo tak Ci zarznie system, ze nie bedzie odpowiadal na zdarzenia systemu. Poczytaj o procesach. pozdro
  11. Complex

    GCC i Rejestr

    Generalnie w C stosuje sie rzutowanie za pomocą nawiasow przed nazwa zniennej ktora chcemy rzutować np int a, b, c; a = (long)b + (long)c; oczywiscie to tylko przyklad i nie ma sensu konwersja inta do longa gdy w rezultacie i tak zapiszemy do inta. W CPP stosuje sie static_cast i dynamic_cast. Wiecej o rzutowaniu w CPP poczytasz tu https://www.intercon.pl/~sektor/cbx/appendix/casting.html Przegladnij tez reszte strony https://www.intercon.pl/~sektor/
  12. Complex

    asm + statusbar

    U mnie w CommCtrl.h STATUSCLASSNAME jest zdefiniowane tak: #ifdef _WIN32 #define STATUSCLASSNAMEW L"msctls_statusbar32" #define STATUSCLASSNAMEA "msctls_statusbar32" #ifdef UNICODE #define STATUSCLASSNAME STATUSCLASSNAMEW #else #define STATUSCLASSNAME STATUSCLASSNAMEA #endif #else #define STATUSCLASSNAME "msctls_statusbar" #endif Moze nie masz po prostu tego naglowka. Jak to rozwiaze Twój problem to sciagnij sobie najnowsze SDK i podlacz do swojego kompilatora. Nie bedziesz mial wiecej podobnych problemow. P.S. Mozesz tez uzyc funkcji CreateStatusWindow.
  13. Complex

    GCC i Rejestr

    Wlasnie o to tu chodzi. Kompilator BCB jest mnie restrykcyjny i dokonuje konwersji niejawnej. GCC jest bardziej restrykcyjny i nie pasuja mu te typy. Przedostatni argument f. jest u Ciebie typu char* a powinien byc zgodnie z dokumentacja typu CONST BYTE * Sprobuj dodac rzutowanie (CONST BYTE *)source a powinno pojsc. powodzenia
  14. Complex

    GCC i Rejestr

    Prawdopodobnie wystarczy wstawić jawną konwersje i bedzie sie kompilowalo. Jak nie bedziesz wiedzal jak to daj znac. Napisz wtedy linie ktora wywala blad. powodzenia
  15. Complex

    Zmiana rozdielczości

    Stanowczo odradzam zmienianie rozdzielczosci w programach. Chyba, ze piszesz jakąś grę i jest to niezbedne. Do gier natomiast polecam OpenGL albo DirectX. W tych interface'ach podczes inicjalizacji podajesz rozdzielczosc. Generalnie aplikacje okienkowe nie powinny mieszac w rozdzielczosci. pozdro
  16. Complex

    asm + statusbar

    Wydaje mi się, ze zapomniałeś dodać styl WS_VISIBLE. Albo pozniej wykonać ShowWindow(hCtrl, SW_SHOW); Jak czegos nie zauwazylem to ktos mnie poprawi. Ale dla mnie wyglada ok. Powodzenia
  17. Complex

    Pobieranie z Rejestru

    Nio i zerknij jeszcze na ftp ftp://winapi.org/pub/
  18. To Ci sie moze przydać :) reszta to tylko petla iteracyjna i masz gotowe algo. Powodzenia :) int fYearLeap(int year) { if((year%4) != 0) return 0; else if((year%400) == 0) return 1; else if((year%100) == 0)return 0; return 1; } int fGetNrdayofmonth(int month, int year) { if(month == 1 || month == 3 || month == 5 ||month == 7 || month == 8 || month == 10 || month == 12) { return 31; } if(month == 4 || month == 6 || month == 9 || month == 11) { return 30; } if(month == 2 && fYearLeap(year) == 1) { return 29; } else { return 28; } }
  19. Complex

    scroll bar -podstawa

    Funkcje SetScrollRange i SetScrollPos przyjmują jako pierwszy parametr uchwyt okna ktore ma te paski przewijania a nie uchwyty paskow przewijania. Podobnie tutaj lParam to uchwyt kontrolki. Dla f. SetScrollRange i ...Pos podawaj uchwycik okna rodzica dla tych paskow - u Ciebie - hDlg. Zainteresuj sie SetScrollInfo() ma wieksze mozliwoscie przez co ladniej wyglada. Powodzenia
  20. Complex

    scroll bar -podstawa

    NIe sprawdzalem calosci ale pierwszy blad jaki mi sie rzucił w oczy to uchwyt do tego scroll bar'a. Przy kazdym kolejnym komunikacie nie masz uchwytu do tego scroll'a. Zrob tak: ... static HWND hscroll; ... wtedy twoj uchwyt nie bedzie gubiony. pozdro
  21. Zgadzam sie z sedefem. Matma to podstawa na pozadnej uczelni technicznej. Jak juz sie dostaniesz to trzeba sie jeszcze utrzymac, a sporo osob odpada wlasnie przez matematyke (m.in.) po pierwszym roku. Powodzenia
  22. Complex

    Blad

    To bardzo sie ciesze Nicon :D Teraz jest do zrobienia wizard do konwertowania. Czyli cos co poprowadzi uzytkownika za raczke przy konwertowaniu. Ja bede teraz pracował nad drugim systemem konwersji, bo jest napisany dla DDB a nie dla DIB'a. To raczej dlugo nie zejdzie - przynajmniej tak mysle. I trzeba przygotować program do wypuszczenia w wersji beta ;) To chiba wszyscy lubia :)
  23. Complex

    string do LPCTSTR

    LPCTSTR This type is declared in Winnt.h as follows: #ifdef UNICODE typedef LPCWSTR LPCTSTR; #else typedef LPCSTR LPCTSTR; a z koleji LPCSTR Pointer to a constant null-terminated string of 8-bit Windows (ANSI) characters. For more information, see Character Sets Used By Fonts. This type is declared in Winnt.h as follows: typedef CONST CHAR *LPCSTR; Czyli jak masz sciezke w tablicy char zakonczonej '\0' to podajesz po prostu wskaznik i rzutujesz na LPCTSTR - byc moze rzutowanie nie bedzie konieczne. To oczywiscie bedzie dzialac o ile nie kompilujesz z unikodem. pozdrowka
  24. ad 1 Komunikat WM_PAINT wymusisz funkcja InvalidateRect(hWnd, NULL, TRUE); ad 2. WM_SETFOCUS jest to komunikat ktory dociera do okna jak dostanie focus (focus = aktywne okno). A Piasiu poleca bys go przekazal czyli SetFocus(hWnd); pozdro
×
×
  • Utwórz nowe...