Skocz do zawartości

Jarema

Członkowie
  • Postów

    0
  • Dołączył

  • Ostatnio

    Nigdy

Posty napisane przez Jarema

  1. Oto moja procedura ustawiajaca styl, tu chyba jest jakis bug :

    Kod:
    // ustawia podany styl okna
    void UstawStyl (HWND hwnd, DWORD styl)
    {
    long stary = GetWindowLong(hwnd, GWL_STYLE);
    SetWindowLong (hwnd, GWL_STYLE, stary | styl);
    }

    Myślę że twoim błędem jest to że po wywołaniu funkcji SetWindowLong nie wywołujesz SetWindowPos:

    Certain window data is cached, so changes you make using SetWindowLong will not take effect until you call the SetWindowPos function.
  2. Ja proponuję użyć BZLib. Dąstępna jest na www.codeproject.com tak jak kilka innych bibliotek. Pakuje świetnie, bo jest chyba oparta na jakichś nowych bibliotekach Zipa, w każdym razie lepiej niż mój zip. Tylko uwaga: ma maly blad, ale koles nizej w komentarzach pisze jak go usunac. Szczerze polecam.

  3. Sproboj dac to: WS_POPUPWINDOW

    WS_POPUPWINDOW   Creates a pop-up window with the WS_BORDER, WS_POPUP, and WS_SYSMENU styles. The WS_CAPTION style must be combined with the WS_POPUPWINDOW style to make the Control menu visible.
    

    A jak nie zadziala to daj ten styl WS_OVERLAPPED tylko dodaj WS_SYSMENU.

    Jakby cos to pisz.

  4. najpierw zobacz co znajduje sie w zmiennej st. Jesli tam jest jakis smiec to musisz zle odczytywac czas. Nie wiem jak to jest z klasa string ale ona chyba ma wbudowana konwersje z cyferek. Ale jesli nie to dlatego ze zle przypisujesz do zmienna czas.

  5. No ja tez teraz wole kozystac z angielskich pdf-ow, bo za free sa. Ale zawsze papier to papier, mimo wszystko nie zaluje sobie kasy na ksiazki, w koncu w to warto inwestowac :)

  6. :o Ad1 za bardzo nie wiem o co CI chodzi ale podejrzewam ze chcesz zmienic zeby byl sort header. Musisz usunac styl LVS_NOSORTHEADER. Jesli nie o to Ci chodzi to napisz dokladniej.

    Ad2. sesja:"ftp://winapi.org" //zmienione przez pinolca

    Ad3. Moze styl WS_EX_MODALFRAME(sorki jak cos w stylu przekrecilem) powinien Ci pomoc, daje kontrolce dwie dodatkowe ramki.

    Ad4. Najlepiej jesli uzyjesz subclassingu i tam zablokujesz wszelkie wpisywanie albo ale nie jestem tego pewien mozesz sprobowac przchwycic komunikat WM_CTLCOLOREDIT(jeszcze raz sorki za przekrecenie nazwy komunikatu ale nie mam MSDNA przy sobie teraz )

    Ad6.

    ofn.lStructSize = sizeof (OPENFILENAME) ;
    ofn.hwndOwner = hwnd ;
    ofn.hInstance = NULL ;
    ofn.lpstrFilter = szFilter ;
    ofn.lpstrCustomFilter = NULL ;
    ofn.nMaxCustFilter = 0 ;
    ofn.nFilterIndex = 0 ;
    ofn.lpstrFile = "NazwaPliku";
    ofn.nMaxFile = MAX_PATH ;
    ofn.lpstrFileTitle = NULL ;
    ofn.nMaxFileTitle = MAX_PATH ;
    ofn.lpstrInitialDir = NULL ;
    ofn.lpstrTitle = "jakiś tytuł";
    ofn.Flags = OFN_OVERWRITEPROMPT;
    ofn.nFileOffset = 0 ;
    ofn.nFileExtension = 0 ;
    ofn.lpstrDefExt = TEXT ("bmp") ;
    ofn.lCustData = 0 ;
    ofn.lpfnHook = NULL ;
    ofn.lpTemplateName = NULL ;

    GetSaveFileName (&ofn);

    Tak dziadek Petzold tego używa. Nie sprawdzalem tego twojego, ale to napewno działa.

    Ad6.

  7. Napisalem programik chowajacy inne okienka, nawet fajnie dziala i uzywa wlasnie tej funkcji. Tylko jest maly problem, nie chowa tych bardziej niestandardowych okien, np. jakis playerow, ale te wszystkie windowsowskie standardy daje rade.

  8. Twardy dobrze mówi. Nikt nie twierdzi że nie napiszesz tego antyvira, ale raczej nie teraz, to ze Ci to bardzo ciezko idzie tylko moze cie zniechecic. Odsylam Cie do literatury, polecam: https://stud.wsi.edu.pl/~webber/czarny/?link=ebooks, jeśli znasz anglika to poszukaj sobie bo jest dostępny w necie "Programowanie windows" Charlesa Petzolda. Miłej lektury

  9. Nie wierzę że w tutorialu NeHe nie znalazłeś odpowiedzi na swoje pytanie ;). Ale to też tylko moja głupia wtrączka, moja rada jest następująca: przeczytaj dokładnie artykuł.

  10. 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 ;)

  11. Algorytm działa poprawnie, a nie odpowiada dlatego że jest na głównym wątku programu. Ale po sprawdzeniu zacznie znów odpowiadać. Zobacz wtedy czy będą dodane te elementy do ListBoxa, a jak nie to spróbój zmniejszyć rozmiar elementu który dodajesz (długość łańcucha). Napisz co tam Ci wyszło.

  12. Musisz pobrać najpierw jej rozmiar. Potem stworzyć drugą bitmapkę o rozmiarach większych i kopiować odpowiednią ilość linii, algorytm gotowy można znaleźć na pierwszej lepszej stronce jak wpiszesz w wyszukiwarce "skalowanie bitmap". To będzie takie brzydkie powiększanie polecam interpolację, coś o tym wiem z Noname Project ;). Zakładam że wiesz jak wykonać powyższe czynności, jeśli będziesz potrzebował gotowego przykładu to napisz, ale to dopiero jutro bo muszę się wyspać ;).

×
×
  • Utwórz nowe...