Skocz do zawartości

Nemo

Członkowie
  • Postów

    0
  • Dołączył

  • Ostatnio

    Nigdy

Wszystko napisane przez Nemo

  1. Tła w batonach 8) nie idzie zienic - dziwna sprawa ale nie idzie. A co do Czcioni to porostu masz sobie zmienna HFONT i uzywasz funkcji CreateFont i wybierasz ja w danym kontekscie HDC poprzez funkcje GetObject. A jesli chodzizeby wszedzie zmienic czionke to ja sam bym takei cos potrzebowal wiec przylaczam sie do pytania :D
  2. Nemo

    Problem z tekstem

    Chodzi ci o WInAPI, tak? Jeśli tak to robisz to mniewiecej tak: tworzysz sobie dwie zmienen globalne: char *text; bool ok; w WM_CREATE ustawiasz ok = false; a w text dajesz tam swoj text; i jak naciśniesz Button to zrób zeby ok = true; i daj InvalidateRect(hWnd, NULL, true); (mozliwe ze zdupilem ta funkcje ale w helpie jest ospiana - wymusza odswierzenie okna) potem oblugujesz komunikat WM_PAINT: if(ok) //jezeli ok=true to odmaluj text { HDC hdc; PAINTSTRUCT ps; RECT rc; hdc = BeginPaint( hWnd, &ps ); SetRect(&rc, 0, 0, xPrawy, yDół); DrawText(hdc, text, -1, &rc, DT_CENTER); EndPaint(hWnd, &ps); } A tak wogole to wystarczy przeczytac pare lekcji ze strony www.winapi.org i bedzie wszystko jasne.
  3. Nemo

    C++Builder i pytanko

    w Delphi to robisz tak: ServerSocket1.Socket.Connections[0].SendBuf(buf, count); gdzie: buf - to jakis bufor z danymi - w c++ to pewnie jakis wskaźnik ;) count - wielkosc bufora ;) pozdrawiam
  4. Nemo

    Pliki *.mid a windows

    Znalalzem takei coś ale jak chchesz to próbuj sam: WINMMAPI MMRESULT WINAPI midiStreamOpen(LPHMIDISTRM phms, LPUINT puDeviceID, DWORD cMidi, DWORD dwCallback, DWORD dwInstance, DWORD fdwOpen); WINMMAPI MMRESULT WINAPI midiStreamClose(HMIDISTRM hms); WINMMAPI MMRESULT WINAPI midiStreamProperty(HMIDISTRM hms, LPBYTE lppropdata, DWORD dwProperty); WINMMAPI MMRESULT WINAPI midiStreamPosition(HMIDISTRM hms, LPMMTIME lpmmt, UINT cbmmt); WINMMAPI MMRESULT WINAPI midiStreamOut(HMIDISTRM hms, LPMIDIHDR pmh, UINT cbmh); WINMMAPI MMRESULT WINAPI midiStreamPause(HMIDISTRM hms); WINMMAPI MMRESULT WINAPI midiStreamRestart(HMIDISTRM hms); WINMMAPI MMRESULT WINAPI midiStreamStop(HMIDISTRM hms); A ja woogle do dzwieku proponuje skorzystac z fajnej biblioteczki FMod www.fmod.org
  5. Nemo

    Redraw okna

    Po pierwsze w kodzie BIAŁEGO jest malutki blad ale pewnie go skorygowales, chodzi o to ze brakuje jednego parametru w funkcji TextOut a mianowicie pierwszym parametrem powinien byc uchwyt kontekstu po ktorym chhcesz malowac czyli HDC ;) A co do Redraw - to nie wiem jak to dziala ale lepije uniewaznic caly ekran i tez powinno zadzialac: BOOL InvalidateRect( HWND hWnd, // handle of window with changed update region CONST RECT *lpRect, // address of rectangle coordinates BOOL bErase // erase-background flag ); wywolanie funkcji w ten sposób InvalidateRect(hWnd, NULL, TRUE); uniewazni ci cale okno clienta i odmaluje go ;)
  6. Nemo

    pyania

    Nie mowiles ps czyż moje zdjęcie nie wzbudza respektu ? :D
  7. Nemo

    pyania

    Stringow nie da sie tak porównać. Musisz zrobic to tak: bool porownaj(char *text1, char *text2) { if(strlen(text1)!=strlen(text2)) return false; int i = 0; while(text1[i]) { if(text1[i]!=text2[i]) return false; } return true; } char a[10], b[20]; // wczytanie do zmiennych a i b - oczywisice trzeba zakonczyc NULLem ;D if(porownaj(a,b)) printf("zmienne sa takie same"); co do problemu nr 2 to wyjasnienie probelmu nr 1 powinno ci odpowiedziec na pytanie nr 2 :D
  8. Nemo

    Zmiana rozmiaru okna

    Dzieki. Delphi znam więc spoko. Ja słabo znam angielski a raczej wcale go nei znam i nie zawsze wszystko rozumie co jest w helpie. Z tego WM_SIZING doszlem tylko do tego RECT i ze trzeba zwrocicc TRUE - tylko nie wiedzialem ze trzeba nadpsiac RECT :> Wiec jeszcze raz wielke dzieki ;)
  9. Nemo

    Zmiana rozmiaru okna

    Sory. przeczytalem kilka razy to co napisałes zrobiłem coś i nic się nbie dzieje. Prawdopodobnie źle to zrobiłem więc byłbym wdzięczny za gotowy kod.
  10. Nemo

    Zmiana rozmiaru okna

    Chciałbym aby okno podczas zmiany rozmiarów przez użytkownika nie miało mniejszych wymiarów niż MINCX i MINCY. Więc robie tak: case WM_SIZE: if(LOWORD(lParam)<MINCX) MoveWindow(hWnd, x, y, MINCX, height, TRUE); if(HIWORD(lParam)<MINCY) MoveWindow(hWnd, x, y, width, MINCY, TRUE); return 0; Ale to wszystko miga - jak można zapobiedz temu miganiu? ps znalazłem jeszcze coś takiego jak WM_SIZING ale to też za wiele mi nie pomogło
  11. Nemo

    Własny Tray :D

    dzieki o takie coś mi chodziło :D
  12. Nemo

    Własny Tray :D

    NO o tym tezm myslalem ale to raczej mnei nie zadowala. NO kurde napewno jest cos co pozwala przeslac w jaksi sposb do innej aplikacji 4BAJTY uchytu okna :>
  13. Nemo

    takis am

    Do końca niewiem ajk to jest ale to u mnie działa: hBrushStatic - to jest HBRUSH; stworozny przzez CreateSolidBrush(...); pokombinowac i bedziecie wiedziec;] case WM_CTLCOLORSTATIC : SetTextColor ((HDC) wParam, JakisColor) ; SetBkColor ((HDC) wParam, GetSysColor (COLOR_BTNFACE)); return (LRESULT) hBrushStatic ;
  14. Nemo

    Własny Tray :D

    Chciałbym napisać taki program który będzie udawał Tray'a. Nie wiem jak się do tego zabrać więc jak ktoś ma pomysł to chetnie poczytam. A jeśli nikt nie ma pomysłu to mam drugie pytanie, a raczej pomysł tylko nei wiem jak się za niego wziaść. Pomysł wygląda tak: - moje programy które się uruchamiaja sprawdzają czy moj program "tray" jest uruchomiony - tylko nei wiem jak sprawdzić czy jest uruchomiony no i jak już sprawdzi to jak ma dać znać programowi "tray" że on istnieje - tzn jak przesłać do niego jakieś dane (może użyć tego HGLOBAL - ale nei mam o tym pojęcia) - lub mój program jakaś konkretną komórke pamięci, która przechowywała by uchwyt do okna porgramu "tray", a znając uchyt programu można by było wysyłać już komunikaty odpowiednie (np zdefiniowane przezemnie) do programu "tray". czekam na odpowiedź pozdrowienia
  15. Nemo

    taki sam

    nie wiem co ty kobinujesz czlowieku ale ja wyslalem do Buttona komunikat WM_CLOSE i bez problemu go zamknol. Aha. Napisz czy chchesz zamknac tego edita w okienku dialogowym czy nie ( w sumie chyba nie gra roznicy :? )
  16. Nemo

    Net view

    Szczerze mówiąc to ja niem am pojecia o tym co ty mowisz ;) wiec raczej ci eni pomoge. Ale co do posłańca to wiedz ze niektore firmy juz poprzez tego posłańca rozsyłaja reklamy Troche to wkurza no ale posłańca da się wyłączyć   Ale jakbyś zrobił program co przechwytuje te wiadomości i je np niszczy (tzn nie wyświetla ich) to byś mógl to sprzedać bo takei programy są po necie (około 15$).
  17. Nemo

    Net view

    Ja na winsocku sie jeszcze nei znam dobrze bo jeszcze sie nie zabralem za to. Ale kawalek ksiakzi przecztalem i wydaje mi sie ze to mzoesz zrobic za pomoca NetBIOSu - ale jak? to ja nie wiem;) Poszuakj po necie albo czekaj az ktos ci powie jak 8) ps poszukaj jeszcze w win32.hlp pod hasłem "LAN Manager" - bo to może być tam to czego potrzebujesz. Są tam funkcje np takie NetGroupEnum - czyli wyliczenie grup w sieci lokalnej - tak mi się wydaje. pozdro.
  18. Nemo

    Czy naciśnięty?

    Jeśli chcesz wychwycić moment naciśnięcia guzika to proostu w funkcji komunikatów obsługujesz komunikat WM_COMMAND w taki sposób: #define ID_BUUTON 100 [...] LRESULT CALLBACK WndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) { switch(Msg) { case WM_CREATE: CreateWindow("button", "Guzik", WS_CHILD | WS_VISIBLE, 10,10,70,26, hWnd, (HMENU)ID_BUTTON, hinstance, NULL);//tworzysz buttona return 0; [...] case WM_COMMAND: switch(HIWORD(wParam))//sprawdzasz czy kliknieto { case BN_CLICKED: switch(LOWORD(wParam))//sprawdzasz na co kliknieto ;) { case ID_BUTTON: ShowWindow(hwnd_m, SW_SHOWNORMAL); break; } break; } return 0; return DefWindowProc(hWnd, Msg, wParam, lParam); }
  19. Nemo

    taki sam

    Wkleje ci w kawałek z dokumentacji: Przyjzyj sie temu: lKeyData - to jest licznik potwórzeń. Jak przytrzymasz jakiś klawisz dłużej to Windows wysyłając ten komunikat zwiększa wartosc w lKeyData (czyli lParam). To było to co może ci się przydać. Ale nie wiem czy ci to pomoze bo nie zabardzo rozumiem problema;) Pozdro.
  20. Nemo

    Close Edit lub button

    moze ShowWindow(hwnd, SW_HIDE);
  21. Nemo

    taki sam

    Zgadzam sie z mistyk9001 ze lepiej uzyj GDI niz API do rysowania prostych figur. Ale jeśli się uprzesz to przecież możesz odbierać komunikat WM_CHAR. Zaglądnij jeszcze do dokumentacji na chasło WM_CHAR bo możliwe że w którymś parametrze MSG (LPARAM lub WPARAM) jest wartość licznika potwórzęn danego znaku - to też moze sie przydac. pozdro.
  22. Nemo

    Kolory systemowe

    Mam takei pytanie. Podczasz gdy moja aplikacja jest uruchomiona uzytkownik zmieni kolor w systemie to moj program musi zareagować na tą zmiane. Wszystko fajno ale nie wiem jak zmienić kolor StatusBar'a. Wie ktoś ?:D
  23. Nemo

    Re: Okna modalne

    Dla tych ktorzy by kiedys potrzebowali ;) Obsluga jest przyjemna. Jak piszmey: ShowWindow(hwnd_m, SW_SHOWNORMAL); to okienko modalne sie uruchamia a jak je zamykamy to okienko nie zostaje zniszczone tylko ukryte dzieki czemu potem mozemy ponownie uruchomic oko modalne poprzez ShowWindow ;) HWND hwnd; // uchyt okna głównego HWND hwnd_m; // uchyt okna modalnego //funkcja okna glownego LRESULT CALLBACK WndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) { //tutaj co tam chcecie ;) } //funkcja okna modalnego LRESULT CALLBACK ModWndProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) { LRESULT CALLBACK WndProcT(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam) { switch(Msg) { case WM_SHOWWINDOW: EnableWindow(hwnd, !((BOOL)wParam)); return 0; case WM_CLOSE: ShowWindow(hWnd, SW_HIDE); return 0; } return DefWindowProc(hWnd, Msg, wParam, lParam); } int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MSG msg; WNDCLASS wndclass; wndclass.cbClsExtra = 0; wndclass.cbWndExtra = 0; wndclass.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH); wndclass.hCursor = LoadCursor(NULL, IDC_ARROW); wndclass.hIcon = LoadIcon(NULL, IDI_WINLOGO); wndclass.hInstance = hInstance; wndclass.lpfnWndProc = WndProc; wndclass.lpszClassName = szAppName; wndclass.lpszMenuName = NULL; wndclass.style = CS_HREDRAW | CS_VREDRAW; RegisterClass(&wndclass); hwnd = CreateWindow(szAppName, TEXT("Okno"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL); /******** okno modalne ************/ wndclass.lpfnWndProc = ModWndProc; wndclass.lpszClassName = szModName; RegisterClass(&wndclass); hwnd_m = CreateWindow(szModName, TEXT("Modalne Okno"), WS_POPUPWINDOW|WS_CAPTION, 0, 0, 400, 300, hwnd, NULL, hInstance, NULL); ShowWindow(hwnd, nCmdShow); UpdateWindow(hwnd); ShowWindow(hwnd_m, SW_SHOWNORMAL); UpdateWindow(hwnd_m); while(TRUE) { if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { if(msg.message==WM_QUIT) break; TranslateMessage(&msg); DispatchMessage(&msg); } } return msg.wParam; } pozdrawiam
  24. Nemo

    Kolory w konsoli

    NO widzisz. Bo tamto to jest grafika BGI stworzona przez Borlanda i tam sie inicjuje tryb graficzny bo to sa programt pod DOS. A konsola to nie program DOSowy
  25. Nemo

    Kolory w konsoli

    I to coś potrafi rysowac w trybie graficznym? Daj znac jesli tak;)
×
×
  • Utwórz nowe...