Skocz do zawartości

Storm

Członkowie
  • Postów

    0
  • Dołączył

  • Ostatnio

    Nigdy

Storm's Achievements

Newbie

Newbie (1/14)

0

Reputacja

  1. Storm

    problemy z main

    Ja bym zamiast petli while obslugiwał komunikaty od Timera i w ten sposob co jakis czas poruszał zającami itp. Nie było by problemu z odbiorem innych komunikatów. A tak u ciebie nie są pewnie pobierane kolejne komunikaty bo cały czas jest obsługiwany ten jeden tj. wybranie z menu "Simulat".Jego obsługa to pewnie ta nieskończona pętla,więc się nie skończy i dlatego inne komunikaty nie są obsługiwane..Przynajmniej tak mi się wydaje.Ale moge się mylić. Pozdrawiam.
  2. Jest to funkcja o dowolnej liczbie argumentów jak printf w C. Pozdro
  3. Jest to funkcja o dowolnej liczbie argumentów jak printf w C. Pozdro
  4. Witam troszke przerobilem twoj kod powinno byc ok //--------------------------------------------------------------------------- #include <windows.h> #include <stdio.h> #include <stdarg.h> #define MAX_KEY_LENGTH 255 #define MAX_VALUE_NAME 16000 #define MAX_PATH 16000 //--------------------------------------------------------------------------- int MessageBoxPrintf(CHAR * szCaption,CHAR * szFormat, ...) { va_list wsk_na_liste_arg; CHAR bufor[1024]; va_start(wsk_na_liste_arg,szFormat); _vsnprintf(bufor,sizeof(bufor),szFormat,wsk_na_liste_arg); va_end(wsk_na_liste_arg); return MessageBox(NULL,bufor,szCaption,0); } //--------------------------------------------------------------------------- WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // HKEY hKey; if( RegOpenKeyEx(HKEY_CURRENT_USER,"Software\\jajo",0,KEY_ALL_ACCESS,&hKey) == ERROR_SUCCESS ) { TCHAR achKey[MAX_KEY_LENGTH]; // buffer for subkey name DWORD cbName; // size of name string TCHAR achClass[MAX_PATH] = TEXT(""); // buffer for class name DWORD cchClassName = MAX_PATH; // size of class string DWORD cSubKeys=0; // number of subkeys DWORD cbMaxSubKey; // longest subkey size DWORD cchMaxClass; // longest class string DWORD cValues; // number of values for key DWORD cchMaxValue; // longest value name DWORD cbMaxValueData; // longest value data DWORD cbSecurityDescriptor; // size of security descriptor FILETIME ftLastWriteTime; // last write time DWORD i, retCode; TCHAR achValue[MAX_VALUE_NAME]; DWORD cchValue = MAX_VALUE_NAME; // Get the class name and the value count. if( (retCode = RegQueryInfoKey( hKey, // key handle achClass, // buffer for class name &cchClassName, // size of class string NULL, // reserved &cSubKeys, // number of subkeys &cbMaxSubKey, // longest subkey size &cchMaxClass, // longest class string &cValues, // number of values for this key &cchMaxValue, // longest value name &cbMaxValueData, // longest value data &cbSecurityDescriptor, // security descriptor &ftLastWriteTime) // last write time )==ERROR_SUCCESS) { //RegCloseKey(hKey); int liczba = (int) cValues; LPCTSTR ile; LPCTSTR tresc; for (int i=0;i<liczba;i++) { cchValue = MAX_VALUE_NAME; achValue[0] = '\0'; retCode = RegEnumValue(hKey, i, achValue, &cchValue, NULL, NULL, NULL, NULL); MessageBox(NULL,achValue,"info",MB_OK); } //ile = liczba + "adas"; //MessageBox(NULL,ile,"Ile",MB_OK); MessageBoxPrintf("Ile","Znaleziono %d wartosci",liczba); } RegCloseKey(hKey); } return 0; } //--------------------------------------------------------------------------- Pozdrawiam
  5. Storm

    LoadIcon

    Witam Uwazam,ze nie jest dobrym pomyslem czytanie ikonki z pliku,bo zawsze plik,ktos moze usunac,lepjej ja dodac do zasobow,wtedy sie wkompiluje w execa.Nie jest to trudne. W Visualu wybierz Project->Add Resource Wybierz Icon nastepnie Import Pojawi ci sie okienko gdzie mozesz wyszukac swoj plik *.ico Po wskazaniu pliku i wybraniu open ikonka doda sie do zasobow. Jak obejrzec zasoby? W Visualu wybierz View->Resource View Tam masz takie drzewko zasobow(nazwa_pliku.rc) Wybierz z niego Icon Powinno ci sie dodac tam ikonka Bedziesz widział w tym drzewku jej identyfikator zapewne IDI_ICOIN1 Teraz wystarczy wpisac w programie zamiast wndclass.hIcon = LoadIcon(NULL, IDI_WINLOGO); to wndclass.hIcon = LoadIcon (hInstance,MAKEINTRESOURCE(IDI_ICON1)); Pozdrawiam.
  6. Storm

    Menu

    Bo ja podałem adres ktory mozesz wpisac,gdy uzywasz klienta ftp(np Total Comander ma takowego),a codeguy podal link,z ktorego mozna sie dostac na serwerek przez przegladarke. Dla mnie wygodniejszy jest ten pierwszy sposob. Pozdrawiam
  7. Storm

    No właśnie

    Ja bym powiedział konstruktorem klasy,której obiekt zdefiniowano globalnie.Bo definicja klasy moze być na zewnątrz main'a,ale konstruktor pracuje dopiero gdy jest tworzony obiekt.Więc chodzi o obiekt danej klasy nie klasę(klasa to typ).
  8. Storm

    Konstruktor

    Nie wiem czy o to ci chodzi?Czy chodzi o to aby instrukcje zawarte w konstruktorze były wykonane przed pierwszą instrukcją programu? Jeżeli tak to wystarczy obiekt danej klasy zadeklarować globalnie. Przykład #include<iostream> using namespace std; //--------------------------------------------------------------------------- class klasa { public: klasa() ; //konstruktor }; //--------------------------------------------------------------------------- klasa::klasa() { cout << "Jestem konstruktorem" <<endl; } //---------------------------------------------------------------------------- klasa obiekt; //definicja zmiennej globalnej int main() { cout << "Pierwsza instrukcja"<<endl; cin.get(); return 0; } //--------------------------------------------------------------------------- Pozdrawiam
  9. Mialem namysli Richtera wlasnie,ale gdzies mi wcielo tytul. Jak przeczytam Petzolda to sobie na pewno kupie albo pozycze od kumpla.Ale to jeszcze troche potrwa     Pozdrawiam.
  10. Storm

    Menu

    Witam W swoim programie zmień linie klasaokna.lpszMenuName = MAKEINTRESOURCE(IDR_MENU1); na klasaokna.lpszMenuName = "Menu"; A co do przykładów to pare topików temu ktoś podawał adres serwerka ftp host: ftp.winapi.org Można się logować anonimowo. Off topic: Dzięki dobrzy ludzie za te przykłady na pewno się przydadzą. Pozdrawiam
  11. Storm

    MessageBoxIndirect

    Dzięki Zrobilem to jednak na okienku dialogowym bo tak jest jednak prościej.A angielski znam na tyle,ze jak trzeba to sobie poradze. Pozdrawiam.
  12. Storm

    MessageBoxIndirect

    Witam Mam taki problemik.Chciałem wyświetlić MessageBoxa który niezaleznie od wersji system(angielska,polska) wyświetli mi napisy w klawiszach po polsku(czyli TAK NIE zamiast YES NO).Chcialem uzyc funkcji MessageBoxIndirect opisanej tu https://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/dialogboxes/dialogboxreference/dialogboxfunctions/messageboxindirect.asp ale napisy w klawiszach caly czas sa wyswietlane po angielsku.Używam angielskiej wersji systemu(xp). Co robie nie tak? const MSGBOXPARAMS MsgBoxParams= { sizeof(MsgBoxParams), NULL, NULL, "Czy na pewno chcesz wyjść ?", "Edytor Plansz", MB_YESNO | MB_ICONQUESTION, NULL, NULL, NULL, MAKELANGID(LANG_POLISH,SUBLANG_DEFAULT) }; //obsługa komunikatu WM_CLOSE CASE WM_CLOSE: if(IDYES==MessageBoxIndirect(&MsgBoxParams)) DestroyWindow(hwnd); return 0; Z góry dzięki za odpowiedź. Pozdrawiam
  13. Storm

    Zmiana rozdielczości

    Dzieki wszystkim za odpowiedzi,szczegolnie dla Spoona za podanie nazwy funkcji. Pozdrawiam
  14. Storm

    Zmiana rozdielczości

    No wiec tak sprawa wyglada tak,ze kumpel zmienil sobie rozdielczosc na zbyt wysoka i nic nie widział na ekranie,ktos mi podal link do programu z mieniajacego rozdielczosc(mozna go np wrzucic do autostartu lub rejestru w trybie awaryjnym, program robi to co ma robic).Wiec problem rozwiazany.Ale nie wiem jak on dziala bo nie mam zrodla.A jestem ciekaw w jaki sposob on zmienia rozdielczosc. Pozdrawiam
  15. Storm

    Zmiana rozdielczości

    Witam! Znacie może funkcje zmienjającą rozdielczość ekranu? Z góry dzięki. Pozdrawiam.
×
×
  • Utwórz nowe...