Skocz do zawartości

Parody

Członkowie
  • Postów

    0
  • Dołączył

  • Ostatnio

    Nigdy

Wszystko napisane przez Parody

  1. Parody

    Richedit i obrazki

    Witam. Potrzebuję przykładowego kodu jak wstawić obrazek do pola richedit (najlepiej format gif :) ). Z góry dziękuję za pomoc.
  2. Parody

    Protokół windows

    Poszukuję informacji na temat protokołu WINDOWS a dokładniej na temat połączenia się z innym kompem w sieci lokalnej i ściągnięciem jakiegoś udost. pliku.
  3. Gdybym zabierał się za takie coś z aktualna wiedzą zrobiłbym to tak: Zapuścił snifera żeby się dowiedzieć, na jakim porcie przychodzi net send i zobaczyć budowę pakietu. Rozgryź pakiet (to było by najtrudniejsze). No i na koniec napisać program z ustawionym sockietem nasłuchującym na porcie akceptującym wszystko, co przyjdzie sprawdzić i jeśli to jest pakiet net send wyświetlić :)
  4. Parody

    Kilka pytań

    Może mam problemy z zrozumieniem tekstu czytanego, ale chyba właśnie o to chodziło?:) Jak ktoś kliknie krzyżyk (prawy górny róg okna :D) to wyskakuje MessageBox z pytaniem czy jest pewien, że chce wyłączyć program jak wybierze TAK program zostanie zamknięty, jeśli wybierze NIE to program nie zakończy się :)
  5. Parody

    Kilka pytań

    Przechwyć komunikat : case WM_CLOSE: if(MessageBox(hWnd,"Czy napewno chcesz wyłączyć program ?","Potwierdzenie",MB_YESNO)==IDYES) { PostQuitMessage(0); break; } break;
  6. Parody

    Parę pytań :)

    Co do kontrolki HTML to znalazłem parę ciekawych linków : https://www.wischik.com/lu/programmer/webform.html https://www.codeguru.com/Cpp/I-N/ieprogram/article.php/c4379 A tu jest Kod edita: LRESULT CALLBACK procEdit (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch(uMsg){ case WM_KEYDOWN: switch(wParam){ case 13: if(GetWindowTextLength(hwnd)<=0) break; GetWindowText(hwnd,pOut.data,GetWindowTextLength(hwnd)+1); SetWindowText(hwnd,""); SetFocus(hwnd); ... ... // tu było ustawienie tekstu w EDICIE READONLY ... break; } break; } //przekazanie komunikatów do oryginalnych funkcji return CallWindowProc (WndProcOrg, hwnd, uMsg, wParam, lParam); }
  7. Parody

    Parę pytań :)

    A wiec trochę źle opisałem problem, mam dwa pola EDIT jedno służy do wprowadzania tekstu drugie jest READONLY. EDIT do wprowadzania tekstu jest subklasowany i przechwytuję komunikat wciśnieńcia ENTER, następnie dodaję tekst do pola READONLY (także dodawanie tekstu nie stanowi problemu ;) ) problem polega na tym iż jeśli EDIT do wprowadzania tekstu jest jedno liniowy to po naciśnięciu enter odgrywany jest dźwięk a jeżeli jest multiline to nawet po ustawieniu SetWindowText(hEdit,""); pozostaje w nim znak nowej lini i tekst wprowadzamy od 2 lini :/. Jak się tego pozbyć (mowa o dźwięku lub znaku nowej lini jeśli edit do wprowadzania tekstu jest multiline)? A co do GG to trochę ciężko mi uwierzyć ze w rozmowie użyto zwykłego EDITa (wystarczy się pobawić trochę w przeciąganie obrazków na obrazki itp. A w pewnym momencie w okienku jest strona IE "Brak strony")
  8. Parody

    Parę pytań :)

    RichEdit działa :) po prostu wywołałem złego dll’a , a co do pytania 3 to istnieje jakaś inna kontrolka do obsługi HTML przykładem niech będzie gadu-gady gdzie w czasie rozmowy mamy do czynienia tak jakby z oknem IE.
  9. Parody

    Parę pytań :)

    Witam. Żeby się nie rozpisywać przejdę do rzeczy : 1.Mam pole EDIT jest subklasowane i przechwytuję komunikat o wciśnięciu ENTER, ale jeżeli EDIT jest MULTILINE to po SetWindowText(hEdit""); ciągle zostaje znak nowej linii (tj. kursor znajduje się w 2 linii edita), a jeśli EDIT jest jedno liniowy to przy naciśnięciu ENTER jest dźwięk (taki sam jak w czasie wpisywania, gdy skończy się miejsce w kontrolce). Pytanie brzmi jak się tego pozbyć? Próbowałem dać return true; / return false; przy komunikacie ale nic to nie zmieniło :(. 2.Jak już jestem przy polach EDIT co trzeba jeszcze zrobić żeby mieć w programie rich edit ? Mam zainicjowane commoncontrols(ICC_WIN95_CLASSES), wczytałem DLL'a następnie próbuje stworzyć okno za pomocą stylu (RICHEDIT_CLASS10A lub RICHEDIT_CLASS) ale okna jak nie ma tak nie ma :( (PS. Nagłówek dołączyłem :) ). Jakby ktoś mógł rzucić kodem byłbym wdzięczny :). 3.Trzecie pytanie jest podobne do pytania jakie zadał kiedyś Piasiu, czyli czy istnieje kontrolka która pozwala wyświetlać HTML ? Z góry dzięki za pomoc :).
  10. Przetłumaczyć nie przetłumaczę ale zapodam link’a :) NeHe znajomość ang. wymagana ale za to moim zdaniem najlepsza strona do nauki OpenGl. P.S. Tutorial 6 to sa tekstury ;)
  11. Parody

    Pobieranie IP

    Nigdy nie miałem NEO ale do sprawdzania mojego adresu wykorzystuje poniższy kod: char buff[100]; char *IP; hostent *lphe; WSADATA WSAData; WSAStartup(MAKEWORD(2, 0), &WSAData); gethostname(buff, 100); lphe = gethostbyname(buff); IP = inet_ntoa(*(in_addr*)*lphe->h_addr_list); WSACleanup(); Wydaje mi się, że powinien działać z NEO.
  12. A więc po przeróbce kod działa ale pojawiły się 2 nowe problemy :( 1. Czy idzie jakoś pobrać obraz okna zasłoniętego (na razie pobiera mi obraz każdego okna nad nim) 2. Dlaczego po paru odrysowaniach okno nie przyjmuje komunikatu WM_PAINT (nie odrysowuje się) tu kawałek kodu : ... case WM_PAINT: hWndH3 = FindWindowEx(NULL,NULL,NULL,"Heroes of Might and Magic III"); if (hWndH3==NULL) { MessageBox(NULL,"Brak okna Gry !","Błąd",MB_OK); PostQuitMessage(0); } GetWindowRect(hWndH3,&rozOkna); memset(&bitMapa,0,sizeof(HBITMAP)); DCScreenH3 = GetDC(hWndH3); bitMapa=CreateCompatibleBitmap(DCScreenH3,rozOkna.right-rozOkna.left,rozOkna.bottom-rozOkna.top); DCH3=CreateCompatibleDC(DCScreenH3); SelectObject(DCH3,bitMapa); BitBlt(DCH3,0,0,rozOkna.right-rozOkna.left,rozOkna.bottom-rozOkna.top,DCScreenH3,0,0,SRCCOPY); DeleteDC(DCH3); DeleteDC(DCScreenH3); hdc=BeginPaint(hWnd,&ps); memDC=CreateCompatibleDC(hdc); SelectObject(memDC,bitMapa); // BitBlt(hdc,0,0,rozOkna.right-rozOkna.left,rozOkna.bottom-rozOkna.top,memDC,0,0,SRCCOPY); StretchBlt(hdc,0,0,400,400,memDC,0,0,rozOkna.right-rozOkna.left,rozOkna.bottom-rozOkna.top,SRCCOPY); EndPaint(hWnd,&ps); DeleteDC(memDC); DeleteDC(hdc); UpdateWindow(hWnd); hWndH3=NULL; break; case WM_TIMER: InvalidateRect(hWnd,NULL,true); break; ... [UPDATE] Problem nr 2 rozwiązałem poprzez usuwanie bitmapy po kazdym rysowaniu :)
  13. Witam. Potrzebuję zrobić "printscreen" okna aplikacji (uchwyt okna pobieram przez FindWindowEx), zapisać go jako BMP albo nawet lepiej jako JPG i nie bardzo wiem jak się do tego zabrać :(, okno prawdopodobnie wykorzystuje DirectDraw ale wolałbym jakiś "uniwersalny" sposób. Z góry tlx. Za pomoc :)
  14. Wrzuć kod z openfilename.
  15. Czy uchwyt do okna hwnd jest poprawny tzn. czy to okno istnieje (może to twój dialog ale tego nie wiem :) ), jeśli nie to daj zamiast hwnd uchwyt do okna dialog. Druga sprawa jeśli używasz ofn.hInstance=hInst to spróbuj dać taki kod w WM_CREATE albo WM_INITDIALOG: hIns=((LPCREATESTRUCT)lParam) ->hInstance; Osobiście mam to na NULL bo inaczej zawsze wywalało mi błąd :?
  16. Działa idealnie THX :)
  17. A wiec mam maly problem z GetSaveFileName dialog pokazuje sie ale przy nacisnieciu OK wyskakuje blad pamieci (pamiec nie moze byc read ... ) char saveFile[300]; OPENFILENAME save; save.hInstance = hInstance; save.Flags = OFN_LONGNAMES|OFN_OVERWRITEPROMPT; save.hwndOwner = hWnd; save.lCustData = NULL; save.lpfnHook = NULL; save.lpstrCustomFilter = NULL; save.lpstrDefExt = "html"; save.lpstrFile = "strona.html"; save.lpstrFileTitle = saveFile; save.lpstrFilter = NULL; save.lpstrInitialDir = NULL; save.lpstrTitle = "Zapisz jako ..."; save.lpTemplateName = NULL; save.lStructSize = sizeof(save); save.nFileExtension = NULL; save.nFileOffset = NULL; save.nFilterIndex = NULL; save.nMaxCustFilter = 60; save.nMaxFile = 300; save.nMaxFileTitle = 300; if((GetSaveFileName(&save))!=0) { // MessageBox(hWnd,saveFile,"INFO",MB_OK); } Prosze o pomoc :) ewentualnie jakis maly przykladzik :)
  18. Przechwytywanie komunikatu: LRESULT CALLBACK procOkna(HWND hWnd,UINT mMsg, WPARAM wParam, LPARAM lParam) { switch(mMsg) { ... ... ... case WM_SIZE: if(wParam==SIZE_MINIMIZED) { //tu kod co ma zrobic po nacisnieciu } break; ... ... ...
  19. Parody

    Proste pytanko

    A więc, komunikat EN_MAXTEXT jest wysyłany gdy w kontrolce EDIT skończy się miejsce (ilość tekstu przekroczy pojemność kontrolki) a nie gdy tekst wyjdzie za widoczny obszar. Dzięki reszcie odpowiedzi doszłem do takiego czegoś: int lines=SendMessage(hWnd_output,EM_GETLINECOUNT,(WPARAM)0,(LPARAM)0); SendMessage(hWnd_output,EM_LINESCROLL ,(WPARAM)0,(LPARAM)lines); THX za pomoc :)
  20. Parody

    Proste pytanko

    Witam. A więc sprawa wygląda tak: Mam EDIT do którego dodaję tekst i gdy tekstu będzie więcej niż pozwala wyświetlić EDIT pojawia się SCROLL i wszystko było by OK ale pojawia się jeden problem :( jak zrobić by po dodaniu następnej linii tekstu EDIT sam zrobił SCROLL na sam dół tekstu ? Z góry dzięki za pomoc :)
  21. Parody

    TAK

    Takie moje przeczucie, ale czy czasem nie masz w procedurze dialogu BOOL CALLBACK DialogProc (HWND hDlg, UINT mMsg, WPARAM wParam, LPARAM lParam) gdzieś: return true; ?? zmień na false i będzie OK
  22. Parody

    Obrazki w RichEdit

    jeśli to pomoże zamieszczam przykład z MSDN i resztę opisu: #define DISPLAYCLASS TEXT("DISPLAYCLASS") BOOL g_bMakeFit = TRUE; // DTM_ENABLESHRINK Shrink-enable flag TCHAR const c_szHTMLControlLibrary[] = TEXT("htmlview.dll"); HINSTANCE g_hInstHTMLCtrl; // HTML Control Viewer instance HINSTANCE hInstance; // Application instance HWND m_hwndHtml; // Handle to HTML DISPLAYCLASS window g_hInstHTMLCtrl = LoadLibrary(c_szHTMLControlLibrary); InitHTMLControl(hInstance); LRESULT WndProc (HWND hwnd, UINT msg, WPARAM wp, LPARAM lp) { switch (message) { case WM_CREATE: { m_hwndHtml = CreateWindow(DISPLAYCLASS, NULL, WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_CLIPSIBLINGS, rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top, hWnd, (HMENU)IDC_HTMLVIEW, g_hInst, NULL); SetFocus(m_hwndHtml); PostMessage(m_hwndHtml, DTM_ENABLESHRINK, 0, g_bMakeFit); break; } . . . } } Note When calling the LoadLibrary and CreateWindow functions, the library or class name has to be a Unicode string. Use the TEXT macro to cast a string as Unicode, for example, TEXT("Htmlview.dll"). Pocket Internet Explorer is an example of an application that uses the HTML viewer control. The application (Webview.exe) links with the dynamic-link library that provides the HTML viewer control (Htmlview.dll). The application provides the user interface, retrieves the data from the Uniform Resource Locators (URL), and interprets the data. The following illustration describes how the application interacts with the HTML viewer control. Interaction between the application and HTML viewer control Note The HTML viewer control interface is not an ActiveX control, and does not expose any COM interfaces.
  23. Parody

    taki sam

    Poszukałem i znalazłem :) dzięki za pomoc
  24. Parody

    Obrazki w RichEdit

    Przeglądając MSDN znalazłem: HTML Viewer Control Jako, że jestem leniwy :] (ctrl+c > ctrl+v z MSDN): The Hypertext Markup Language (HTML) viewer control provides a viewer for displaying HTML text and embedded images. The HTML viewer provides the functionality required to implement Microsoft® Pocket Internet Explorer and the Help engine. You can also create other viewers based on the HTML viewer control. An HTML source can include references to other sources, which may provide different types of data. If the application determines that some of the data it retrieves is of a type other than HTML, it can invoke another type of viewer to display that data. To use the HTML viewer control, you must include the Htmlctrl.h header file and either link your application with the Htmlview.dll dynamic link, or load the HTML viewer DLL by calling the LoadLibrary function. When you call LoadLibrary, pass "Htmlview.dll" as the lpLibFileName parameter. Before you can create or use the HTML viewer control, you have to register it by calling the InitHTMLControl function.You create an HTML viewer control by specifying DISPLAYNAME in the lpClassName parameter to the CreateWindow function. To create the HTML viewer control Load the HTML viewer DLL by calling the LoadLibrary function, specifying "Htmlview.dll" in the lpLibFileName parameter. Register the HTML viewer control class by calling the InitHTMLControl function. Create a window for the HTML viewer control by calling the CreateWindow function, specifying DISPLAYNAME in the lpClassName parameter. To display an HTML document Clear the current contents of the HTML viewer control by sending it a WM_SETTEXT message. Load an HTML document and copy the document's text to the control by sending the control a series of DTM_ADDTEXT messages for ASCII or DTM_ADDTEXTW messages for Unicode. When the document processing is complete, send the control a DTM_ENDOFSOURCE message. Process any NM_HOTSPOT notifications sent by the control when the user taps a link or submits a form. For each NM_INLINE_IMAGE notification received from the control, load the image so that the HTML viewer control will display the image loading icon. After the image has loaded successfully, send the control a DTM_SETIMAGE message containing the bitmap handle (HBITMAP) of the image to display. If the image does not load successfully, send a DTM_IMAGEFAIL message, which indicates to the control that it should display the broken image icon. For each NM_INLINE_SOUND notification received from the control, load the sound, and then play it the number of times indicated in the dwLoopCount parameter.
×
×
  • Utwórz nowe...