Jak przesunąć programowo scroll?

Jak przesunąć programowo scroll? Należy wysłać do okna odpowiedni komunikat: – WM_VSCROLL – aby przesunąć pionowy scroll, – WM_HSCROLL – aby przesunąć poziomy scroll, za pomocą funkcji SendMessage:

Pierwszy parametr to uchwyt okna, do którego ma zostać wysłany komunikat, następny – identyfikator komunikatu, kolejne dwa parametry to wartości, jakie będą wraz z komunikatem przesłane. W wParam prześlemy informację o tym, o […]

Czytaj więcej

Jak przesłać obiekt typu string do funkcji przyjmującej jako argument const char*?

Jeżeli probowałeś przesłać do jakieś funkcji, która wymagała jako argumentu char* obiekt typu string, to zapewne spotkałeś się z błędem typów:

W takim wypadku musisz się posłużyć specjalną funkcją składową klasy string c_str(), która zwraca wskaźnik do stałego łańcucha tekstowego umieszczonego w obiekcie typu string:

Autor: Iskar

Czytaj więcej

Jak pobrać uchwyt do przycisku Start?

Na początku musimy otrzymać uchwyt do paska zadań, na którym znajduje się przycisk Start. Jego klasa to Shell_TrayWnd. Do uzyskania jego uchwytu posługużymy się funkcją FindWindow, który jako pierwszy argument przyjmuje nazwę klasy okna, a jako drugi – jego tytuł:

Następnie musimy otrzymać uchwyt do przycisku Start. Używamy w tym celu funkcji GetWindow, której […]

Czytaj więcej

Jak pobrać parametry z linii komend?

Jak pobrać parametry z linii komend? Najpierw należy dodać do funkcji main() dwa argumenty:

nazwy zmiennych są dowolne: argc – określa ile parametrów zostało przekazanych do programu z linii komend. argv – jest tablicą stringów przechowujących parametry. Na przyklad wywolanie programu: > my_prog -arg1 -arg2 arg3 spowoduje, że zmienna argc przyjmie wartość 4, a potem kolejno: […]

Czytaj więcej

Jak dostać ścieżkę do folderu, w który znajduje się plik exe aplikacji?

Sprawa prosta i łatwa, wystarczy wiedzieć, że zawsze pierwszy parametr programu to ścieżka do pliku exe, wystarczy więc wyciąć nazwe pliku i rozszerzenie:

Jeżeli nasza aplikacja nie jest konsolowa tylko typu Win32, to jako pierwszy parametr nie dostaniemy ścieżki do exeka, musimy ją dostać w inny sposób, oto kod:

Jak widać, korzystamy z […]

Czytaj więcej

Co zrobić, aby za każdym uruchomieniem programu losowane liczby różniły się od siebie?

Aby losowane liczby nie powtarzały się, należy przed rozpoczęciem losowania wywołać funkcję srand, do której paremetr otrzymamy z funkcji time(NULL) – zwraca ona ilość sekund, jakie upłynęły od 1 stycznia 1970 roku:

Autor: Iskar

Czytaj więcej

Co zrobić, aby strumienie oraz funkcje z stdio współpracowały poprawnie?

Strumienie cin oraz cout są buforowane, co oznacza, że dane nie są wypisywane/wczytywane za każdym razem, gdy sobie tego zażyczymy, lecz hurtem – gdy danych się troche nazbiera. Powoduje to nieprawidłowe współdziałanie funkcji z stdio ze strumieniami, gdyż używając printf/scanf dane są wypisywane od razu. Może dojść do sytuacji, gdy np. przeplatasz wyświetlanie danych na […]

Czytaj więcej

[Visual C++] Co oznacza błąd 'error LNK2001: unresolved external symbol _main’?

Jeżeli podczas kompilacji natknąłęś się na powyższy błąd, oznacza to, że nie odnaleziono w pliku z kodem źródłowym definicji funkcji main, która wymagana jest w każdej aplikacji konsolowej. Często podczas tworzenia nowego projektu zdarza się pomylić – zamiast wybrać Win32 Application, wybiera się Win32 Console Application, a w źródle umieszcza się definicję funkcji WinMain. Sprawdź, […]

Czytaj więcej