Witam! Chciałbym w programie wxDev-C++ zrobic tak aby po kliknięciu na link otworzyła sie strona www (poniżej to przedstawiłem) ale niebardzo wiem jak to zrobić. Mógłby ktoś mi pomóc?
Z góry dziękuje!
Witam! Chciałbym w programie wxDev-C++ zrobic tak aby po kliknięciu na link otworzyła sie strona www (poniżej to przedstawiłem) ale niebardzo wiem jak to zrobić. Mógłby ktoś mi pomóc?
Z góry dziękuje!
Nigdy nie używałem wxDev-C++, ale istnieją dwa prawdopodobne podejścia, jakie wykorzystano w tym IDE.
Kliknij na link na swoim oknie dialogowym. W lewym dolnym rogu masz panel właściwości kontrolki. Jedną z właściwości powinna być Text, Title lub Caption - zmień ją na http://dobreprogramy.pl/ i skompiluj/przetestuj aplikację. Jeśli zadziała to znaczy, że Twój obiekt do zwykły link label WinApi. Treść którą widać to adres odnośnika. Prawdopodobnie jedynym obsługiwanym typem jest http/https.
Jeśli w/w metoda nie działa lub działa, ale chcesz co innego wyświetlić a inny adres wywołać, obok właściwości (Properties) masz jeszcze zdarzenia (Events). Jedno z nich powinno się nazywać OnClick (lub bardzo podobnie). Musisz do zdarzenia przypisać metodę/funkcję obsługi zdarzenia. Kod uruchamiający stronę:
ShellExecute(NULL, "open", "http://dobreprogramy.pl", NULL, NULL, SW_SHOWNORMAL);
tworzący mail:
ShellExecute(NULL, "open", "mailto:blahblah@dobreprogramy.pl", NULL, NULL, SW_SHOWNORMAL);
Jeśli mnie pamięć nie myli wxWindows mają własny typ znakowy (a wxDev-C++ zdaje się używać wxWindows). W takim wypadku będziesz musiał w/w kod lekko zmodyfikować.
Dzieki, jednak nie trzeba nic modyfikowac, wszystko działa, z emailem tez

Ale jest jeszcze jedna sprawa: jest przycisk ,zamknij’’ i chce zrobic aby po kliknieciu na niego program konczyl swoja prace, wiecie moze jak to uczynic?
Złączono Posta : 19.07.2007 (Czw) 12:44
Odpowie mi ktos?
Orłem z C++ nie jestem, ale spróbuj może czymś takim: Application->Terminate();
Inna metoda, to funkcja
Close();
… ale chyba to, co napisał kryzys jest lepszym rozwiązaniem.
close(int)
Kończy cala aplikacje, czyli zostaje zakończona funkcja main(). A o to nie chodzi. Chodzi o to aby pętla do obsługi winmsg w main() została opuszczona i kod po za tą peltą miał okazje się wykonać (czyli np. zwolnienie zasobów, WSACleanup() itd.). Do tego mamy funkcje:
PostQuitMessage(int);
Jak ją zastosować, w funkcji do obsługi zdarzeń (WinProc) dodajemy taką regułkę:
if(WinMsg == WM_DESTROY || WinMsg == WM_COMMAND && (HWND) lParam == hButton) {
PostQuitMessage(false);
};
Działa ona na przycisk okna (zamknij/krzyżyk (WinMsg == WM_DESTROY)) oraz na wciśnięcie button z handle hButton (HWND hButton).
Tutaj masz przykład który był dołączony razem z Dev-C++.