Skocz do zawartości

Riddle

Członkowie
  • Postów

    0
  • Dołączył

  • Ostatnio

    Nigdy

Posty napisane przez Riddle

  1. Czy ktoś może mi powiedzieć, dlaczego jak się tworzy wersje instalacyjną
    tworzy się 5 plików:
    - InstMsiA.Exe
    - InstMsiW.Exe
    - Setup.Exe
    - Setup.Ini
    - Setup.msi

    Jeśli chcem zrobić autorun, to do którego pliku (który jest główny)??

    I co oznaczają literki w nazwach 2 pierwszych plików 'A' i 'W'...??

  2. Aby program wyświetlał kontrolke RichEdit, należy załadować odpowiedniego DLL'a, zapomocą funkcji LoadLibrary().

    W moim przypadku:
    LoadLibrary("c:\\windows\\system32\\Riched20.dll");

    dla wersji:
    1.0->Riched32.dll
    2.0 albo 3.0 ->Riched20.dll
    4.1 -> Msftedit.dll (tylko XP z SP1)

    i przydało by się jeszcze doczepić plik "Richedit.h"

    A co z tym LINK'iem??

  3. case WM_CTLCOLORSTATIC:
    {
    if (lParam == (LPARAM) GetDlgItem(hdwnd, IDC_EDIT1))
    {
    SetTextColor ((HDC)wParam,RGB(0,0,0)) ;
    SetBkMode((HDC)wParam,TRANSPARENT);
    return (BOOL)(LRESULT)CreateSolidBrush(RGB(255,160,0));
    }
    if(lParam != (LPARAM) GetDlgItem(hdwnd, IDC_EDIT1))
    {
    SetTextColor ((HDC)wParam,RGB(0,0,0)) ;
    SetBkMode((HDC)wParam,TRANSPARENT);
    return (BOOL)(LRESULT)CreateSolidBrush(RGB(180,132,255));
    }
    }
    break;

  4. Mam kontrolke EDIT, która jest tylko do odczytu. Stosuje WM_COLORSTATIC, aby zmienić jej kolory. Wypisuje na niej tekst. W momencie kiedy "przewijam" pionowym scrolem i obraz zamazuje mi się.
    Co mam zrobić aby ten tesk wyświetlał się normalnie..????

    Kiedy NIE korzystam z WM_COLORSTATIC tego problemu nie ma.

    Próbowałem korzystać z funkcji InvaliRect, WindowUpdate i nic.....

  5. Z precyzuje pytanie....

    Mam główne okno oparte na klasie WNDCLASSEX. W funkcji powrotnej w WM_INITDIALOG tworze okno typu "edit". I w jaki sposób można narysować na nim text, używając funkcji textout, albo drawtext??

  6. Najgorsze jest to, że dopisałem pętle komunikatową uzupełniełem o funkcje IsDialogMessage i nadal nie chce działać. Z tego co ja wiem to mam kłopot z pobraniem uchwytu do akceleratorów!!!

  7. Zrobiłem tak jak powiedziałeś i nadal nie che działać!
    Dialog box'a tworze przez CreateDialog, zmodyfikowałem pętle komunikatową i podczas ładowania akceleratorów nie przypisuje mi uchwytu.

    ---w WinMain--zaraz po utworzeniu dialogBoxu
    hAccel = LoadAccelerator(hInst,"AKC");

    hAccel - zmienna globalna
    hInst - hinstance do dialog boxu
    "AKC" - nazwa skrótów klawiaturowych

    Gdzie jest błąd???

  8. Akceleratory, gdzie mam błąd??

    HWND hwnd; \\globalna
    HACCEL hAccel; \\globalna
    WinMain(..)
    {
        DialogBox(..,...,hwnd,..);
        hAccel = LoadAccelerators(hInst,"AKCELERATOR");
        
        while(GetMessage(&msg, NULL, 0, 0)) 
        {
             if(!TranslateAccelerator (hwnd, hAccel, &msg))
             {
                 TranslateMessage(&msg); 
                 DispatchMessage(&msg); 
              }
         }
          return ...;
    }
    

    W funkcji powrotnej dialogBox'u nie wykorzustuje nigdzie zmiennej hAccel;

    A jeśli chodzi o pytanie 3, to sorki ale pomyliłem się, chodziło tu o mój program!!!

  9. 1. Jaki komunikat trzeba wysłać, aby spowodował dwukrotne kliknięcie na Listbox'ie??

    2. W jaki sposób można "uporządkować" okna (w MDI) w stylu TILE??
    Ponieważ jak wysłałem komunikat SendMessage(hwndClient,WM_MDITILE,0,0); z poziomu WM_CREATE to nie chce mi działać??

    3. Dlaczego w momencie kiedy drugi raz chcę stworzyć (zwykłe) okno, to nie chce mi się otworzyć?? Tworze okno za pomocą f. CreateWindow, z niszcze fo prze DestroyWindow. Musze jeszcze raz zarejestrować klase WNDCLASSEX??

  10. 1. W jaki sposób ładuje się akceleratory do dialogBox'a??
    Sądze że LoadAccelerator dobrze pobiera uchwyt!! I błąd chyba jest w translateAccelerator, a dokładniej w hwnd.

    2. Czy można w dialogBox'u w polu CAPTION po lewej stronie (przed tekstem) umieścic ikonkę??

    3. Dlaczego nie mój program nie może załadować ikony do tray'a-> mam tylko puste pole?? Moja ikona ma rozmiary 32*32 w 256 kolorach.

    tray.hIcon = Loadicon(hInst,(MAKEINTRESOURCE(113))); //gdzie 113 to numer mojej ikony!!

  11. Tworząc swój program z tray'em wspierałem się na tekscie Salwador'a zamieszczonego na tej stronie.

    I mam kilka pytań...

    1. Skąd się u niego wziął komunikat WM_TRAY, z tego co ja wiem to takiego nie ma??? (ale to jest mały kłopot bo zawsze można go stworzyć).

    2. Podobnie jak wyżej pobiera 2 komunikaty tj.: WM_LBUTTONDOND i WM_RBUTTONDOND-> przecież takich nie ma.

    3. Mój program kiedy się minimalizuje przechodzi do tra'ya. Czy ktoś wie może jak tą operacje można odwrócić!!!??? Np. w momencie kiedy klikamy lewy przyciskiem myszki na ikone w tray'u, to program znowu się pokazuje???

    P.S. Przydałby się kod żródłowy wykorzystujący tray'a.

  12. Czy jest jakaś funkcja podobna do DirDlgList (z makrem DIRECTORY), która by zwracała nazwy katalogów bez znakow "[" i "]"?????

    W jaki inny sposób można wyświetlić na ListBox'ie nazwy katalogów???

  13. 1. Która funkcja służy do przemiany char na LPCSTR i na odwrót???

    2. Za pomocą jakiej funkcji najlepiej jest kopiować plik???

    3. Która funkcja w api zwraca nam nazwy wszystkich katalogów podając dany "patch"???

  14. Dzięki "Biały" za pomoc, ale już to zrobiłem, i openfilename już mi (wkońcu) działa. Problem polegał na tym, że mój program nie chciał czytać danych z komunikatów WM_INITDIALOG i WM_CREATE. I tylko na tym polegał kłopot.

×
×
  • Utwórz nowe...