
Jarema
Członkowie-
Postów
0 -
Dołączył
-
Ostatnio
Nigdy
Typ zawartości
Profile
Fora
Kalendarz
Articles
Pliki
Wszystko napisane przez Jarema
- Poprzednia
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- Dalej
-
Strona 2 z 9
-
Podczas przeszukiwania MSDN cos takiego mi sie obilo, moze uzycie tej funkcji cos pomoze: SetFileApisToANSI();
-
Dzieje sie tak poniewaz tam panuje stary system okreslania sciezek w ktorych nazwa katalogu nie moze byc dluzsza niz 8 znakow (pozostalosc po dosie). Ale mozesz spokojnie uzywac tej sciezki w programie bo sie pokapuje.
-
No coz nie wiem jak na Twoje pytanie odpowiedziec bo nigdy sie ta kontrolka nie zajmowalem, ale na 90% odpowie Ci na nie autor tutoriala o tym - codeguy. Wyslij mu PM albo zagadaj na GG.
-
Co do pierwszych 2 pytań to w porządku ponieważ Windows szuka dll-ow nie tylko u Ciebie w katalogu z programem. Szuka tutaj najpierw potem chyba w windows-ie potem w systemach i dlatego znalazl. Co do statusa to sproboj tak: InitCommonControls(); CreateStatusWindow(WS_CHILD | WS_VISIBLE, "", hParent, 0); Mnie to zawsze działało.
-
Miałem to samo u siebie. Szczerze mówiąc to też chciałem w obiektach 100% ale nie udało mi się tego do klasy zamieścić centralnie. Ale poradziłem sobie w inny sposób. Zadeklarowałem tą funkcję jako funkcję zaprzyjaźnioną tej klasy (pamiętaj że to klasa deklaruje przyjaźń a nie funkcja), dzięki temu moja funkcja mogła operować na danych składowych mojej klasy. Pewnie będziesz wiedział o co chodzi. Jeśli uda Ci się to inaczej rozwiązać to daj znać bo sam jestem ciekawy.
-
bardzo latwo. Sciagnij sobie serwer MySQL i w nim masz caly kod zrodlowy. Musisz tam po katalogach znalezc plik mysql.h i dolaczyc go do programu, no i jeszcze w miejsce gdzie masz execa kopiujesz libmySQL.dll. Potem tylko odpalasz manuala ktory tez jest w katalogu z serwerem no i tam masz opis wszystkich API do MySQL-a no i zapytan oczywiscie. To chyba tyle.
-
Bardzo Cie przepraszam ze nie czytam ale wycialem gotowy rozdzial z MSDN, przeczytaj to i na 100% Ci zadziala :) Creating a Tab Control The example in this section demonstrates how to create a tab control and display it in the client area of the application's main window. The application displays a third window (a static control) in the display area of the tab control. The parent window positions and sizes the tab control and static control when it processes theWM_SIZE message. There are seven tabs, one for each day of the week. When the user selects a tab, the application displays the name of the corresponding day in the static control. The following global variables are used in this example. // Global variables HINSTANCE g_hinst; // handle to application instance char g_achTemp[256]; // temporary buffer for strings HWND g_hwndMain; // main application window HWND g_hwndTab; // tab control HWND g_hwndDisplay; // handle to static control in // tab control's display area The following function creates the tab control and adds a tab for each day of the week. The names of the days are defined as string resources, consecutively numbered starting with IDS_FIRSTDAY (defined in the application's header file). Both the parent window and the tab control must have the WS_CLIPSIBLINGS window style. The application's initialization function calls this function after creating the main window. // DoCreateTabControl - creates a tab control, sized to fit the // specified parent window's client area, and adds some tabs. // Returns the handle to the tab control. // hwndParent - parent window (the application's main window). HWND WINAPI DoCreateTabControl(HWND hwndParent) { RECT rcClient; HWND hwndTab; TCITEM tie; int i; // Get the dimensions of the parent window's client area, and // create a tab control child window of that size. GetClientRect(hwndParent, &rcClient); InitCommonControls(); hwndTab = CreateWindow( WC_TABCONTROL, "", WS_CHILD | WS_CLIPSIBLINGS | WS_VISIBLE, 0, 0, rcClient.right, rcClient.bottom, hwndParent, NULL, g_hinst, NULL ); if (hwndTab == NULL) return NULL; // Add tabs for each day of the week. tie.mask = TCIF_TEXT | TCIF_IMAGE; tie.iImage = -1; tie.pszText = g_achTemp; for (i = 0; i < 7; i++) { LoadString(g_hinst, IDS_FIRSTDAY + i, g_achTemp, sizeof(g_achTemp)); if (TabCtrl_InsertItem(hwndTab, i, &tie) == -1) { DestroyWindow(hwndTab); return NULL; } } return hwndTab; } The following function creates the static control that occupies the tab control's display area. The application's initialization function calls this function after creating the main window and the tab control. // DoCreateDisplayWindow - creates a child window (a static // control) to occupy the tab control's display area. // Returns the handle to the static control. // hwndParent - parent window (the application's main window). HWND WINAPI DoCreateDisplayWindow(HWND hwndParent) { HWND hwndStatic = CreateWindow("STATIC", "", WS_CHILD | WS_VISIBLE | WS_BORDER, 0, 0, CW_USEDEFAULT, CW_USEDEFAULT, hwndParent, NULL, g_hinst, NULL); return hwndStatic; } Following are the relevant portions of the application's window procedure. The application processes theWM_SIZE message to position and size the tab control and the static control. To determine the appropriate position and size for the static control, this example sends the tab control a TCM_ADJUSTRECT message (by using the TabCtrl_AdjustRect macro). When a tab is selected, the tab control sends a WM_NOTIFY message, specifying the TCN_SELCHANGE notification message. The application processes this notification message by setting the text of the static control. // MainWindowProc - processes the message for the main window class. // The return value depends on the message. // hwnd - handle to the window. // uMsg - identifier for the message. // wParam - message-specific parameter. // lParam - message-specific parameter. LRESULT CALLBACK MainWindowProc( HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) { switch (uMsg) { case WM_SIZE: { HDWP hdwp; RECT rc; // Calculate the display rectangle, assuming the // tab control is the size of the client area. SetRect(&rc, 0, 0, LOWORD(lParam), HIWORD(lParam)); TabCtrl_AdjustRect(g_hwndTab, FALSE, &rc); // Size the tab control to fit the client area. hdwp = BeginDeferWindowPos(2); DeferWindowPos(hdwp, g_hwndTab, NULL, 0, 0, LOWORD(lParam), HIWORD(lParam), SWP_NOMOVE | SWP_NOZORDER ); // Position and size the static control to fit the // tab control's display area, and make sure the // static control is in front of the tab control. DeferWindowPos(hdwp, g_hwndDisplay, HWND_TOP, rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top, 0 ); EndDeferWindowPos(hdwp); } break; case WM_NOTIFY: switch (HIWORD(wParam)) { case 0: . . // menu command processing . case TCN_SELCHANGE: { int iPage = TabCtrl_GetCurSel(g_hwndTab); LoadString(g_hinst, IDS_FIRSTDAY + iPage, g_achTemp, sizeof(g_achTemp)); SendMessage(g_hwndDisplay, WM_SETTEXT, 0 (LPARAM) g_achTemp); } break; } break; . . // additional message processing . default: return DefWindowProc(hwnd, uMsg, wParam, lParam); } return 0; }
-
Jesli satysfakcjonuje Cie odpowiedz w .NET to masz na talerzu: tutaj
-
Faktycznie masz prawo nie wiedziec o co chodzi bo pytajacy nie sprecyzowal, moze chodzic o to ze maja miec po prostu lune, ale zeby to zrobic wystarczy ten pliczek z xml dolaczyc (tutorial na winapi.org). Ale jemu chodzi raczej o takie menu jak sa standardowo np w Office XP.
-
Boze widzisz i nie grzmisz :!: :!: Znasz jakis jezyk programowania?? w poscie wyzej masz odpowiedz. char text[50]; int zmienna = 4324; wsprintf( text, "%i", zmienna ); TextOut ( hdc, 10, 20, text, 5 ); Ehh, no comment.
-
Bardzo mi przyro ale menuXP musisz sam rysowac i jest do tego tylko jede styl OWNERDRAW!!! No a jesli nie wiesz jak to zrobic to wpisz na www.codeproject.com w wyszukiwarce "Menu XP" i znajdzie kilka przydatnych linkow gdzie jest przeprowadzony caly proces rysowania. Mozna to zrobic najnormalniej w dll-u bo o ile pamietam to ludzie to tak robili. A co do zasobow w dll to nie ma problemu tylko musisz potem dolaczyc dll do programu gdzie chcesz tego uzywac. Powodzenia i na przyszlosc zagladajce na www.codeproject.com
-
Obawiam się że w takiej sytuacji zostaje Ci jedynie OWNERDRAW. Jednak nie mam pojęcia jak go zrobić w przypadku Property Sheet. Tylko troche pomyliłeś temat bo napisałeś w wyższej rozdzielczości a pytasz o kolory. Bo jeśli chcesz większą rozdzielczość to tylko i wyłącznie OWNERDRAW.
-
DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), hwnd1, &DlgProc); Ostatni parametr to musi być wskaźnik do funkcji. Co do drugiego to dobrze gdybyś dał dokładny opis błędu.
-
Ale gdzie ma być to zaznacznie zrobione?? Mógłbyś trochę skonkretyzować pytanie?
-
Hyh. Trudno powiedziec ze sie znam, ale prawie skonczylem nowego petzolda czytac (polecam). No i stwierdzam ze bardzo to wygodnie jest, ale bardzo pamieciozerne. Duzo lepiej zorganizowane niz MFC. Wszystko jest takie oczywiste i intuicyjne praktycznie mozna zaczac w tym pisac od razu. Nowy jezyk C# tez jest bardzo wygodny takie polaczenie Javy i C++, cale pisanie jest obiektowe i praktycznie wszytko wymusza obiekty. Super sa zrobione property w klasach tak ze nie mozna sie pomylic we wpisywaniu i wogole full ochrona. Kolejnym + jest brak niebezpiecznych (choc przeze mnie lubianych nawet) wskaznikow, nie ma takiego czegos jak delete, tam tylko sie tworzy. Nowe GDI+ tez jest fajne, nie ma zabawy z uchwytami np. No i coz moge wiecej powiedziec, dobre to jest ale niezbyt (tak jak MFC) nadaje sie do niestandardowych rzeczy. Ale nie ma tej walki z interfacem jak w przypadku API gdzie czasem polowe kodu programu to bylo GUI. No a tak wogole to radze poprostu sprobowac i samemu ocenic.
-
He Petzold z Greboszem rzadza ale tylko na poczatku, jesli chodzi o niestandardowe rzeczy to nic nie wnosza ciekawego, a wrecz utrudniaja zycie mowiac ze czegos sie nie da zrobic hehe. A co do skryptu to podziwiam, bo ja jestem za leniwy na takie rzeczy i max na co mnie stac to robienie komentarzy ktore umozliwiaja mi ponowne zastosowanie rozwiazania.
-
Kazde osobne okienko musi miec swoja osobna procedure okna (tz. praktycznie moze byc jedna procedura dla wiecej niz 1 okna ale podejzewam ze nie o to Ci chodzi). Najbardziej polecałbym jednak stworzenie okna dialogowego, no i co najważniejsze przeczytanie tutoriala ze stronki. Czy to sprawia aż tak wielki problem?
-
Ja osobiscie nie polecam zmiennych globalnych bo robi sie syf z lekka w programie. Polecam stworzyc sobie obiekt danej klasy na poczatku zaraz po " main() { ", chyba ze bardzo zalezy Ci na tym by to bylo przed main-em, choc dziwi mnie to dlaczego? Moze napisz jesli mozesz w czym rzecz, to bedziemy mogli Ci poradzic.
-
Huh smieszne to troche co ludzie pisza (aluzja do autora) :). Ale to normalne, tak normalne ze robi sie juz nudne. Chlopak dba o czystosc rasy c++ :D A co do allegro to jest to taka biblioteka graficzna, zawiera niestety tak znienawidzone prez ciebie funkcje circle, fillellipse itp. :(, ale nie przejmuj sie o ile wiem to wyszlo cos wlasnie z tej bilbioteki co odpali ci sie pod winde i linucha. Ale bardzo smuci mnie Twoja nieporadnosc, dlaczego nie wpiszesz w google.pl allegro, albo nie klikniesz na link, czy da sie to jakos prosciej zrobic? Tak da sie, mozna zawsze zapytac na forum bo najechanie myszka naswiecace literki jest zbyt duzym wysilkiem, ehh :(
-
huh ja zrobilem ska, sam, no i ban ruszylem, dzialaja na wielu danych i sa dosc szybkie, jednak nie licze ze dostane za nie powyzej 40 bo testy sa napewno przerabane, natomiast ska i sam poszly dosc niezle, ale to moj pierwszy rok i dosc amator bylem :). Dozer jesli moglbys przeslij te kody od ban-a, sarevook@interia.pl
-
A ja mam lepszy pomysl, jesli chcesz sie dowiedziec o watkach to skocz do empiku, bierz ksiazke w lape i czytaj, poczytasz co Cie tam interesuje odkladasz i wiedza i kasa twoja, ja tak robilem wiele razy (metoda sprawdzona :D ).
-
A sproboj jakos te teksty odswiezyc, daj jakies SetForegroundWindow, albo ShowWindow, moze poprostu najpierw robisz statica i on zaslania ci napisy, co jest dziwne troche, no i jeszcze sprawdz czy czegos nie pomieszales z ta czcionka. A najlepiej jak pinolec mowi rzuc kodem bo tez niezbyt mam sie o co zaczepic.
-
Znalazlem to na www.codeproject.com wpisz w szukaniu CPU usage i znajdzie na bank dzialajaca rzecz, z gotowym napisanym przykladem bo sprawdzalem, gdybys sobie nie mogl poradzic to daj napisz ze chcesz to Ci wysle na maila.
-
Możesz spróbować poprzez wyłączenie kontrolek pod oknem potomnym (EnableWindow( hKontrolki, FALSE ) );
-
no coz static to jest poprostu static, niczego do niego nie ladujesz specjalnie, to jest poprostu ramka, dajesz sobie inne kontrolki i tyle.
- Poprzednia
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- Dalej
-
Strona 2 z 9