
Generał
Członkowie-
Postów
0 -
Dołączył
-
Ostatnio
Nigdy
Typ zawartości
Profile
Fora
Kalendarz
Articles
Pliki
Wszystko napisane przez Generał
-
A jak tworzysz to okienko dialogowe bo ja jak użyję: Makra DialogBox to zgodnie z tym co jest napisane w dokumentacji otrzymuję modelne okno dialgowe..
-
Co do pierwszego punktu to chyba o to ci chodzi(ale pewnosci nie dam ,gdyż bardzo trudno zrozumieć to co piszesz ): Napisałeś: A wieć nie stosujesz pierwszego ze sposobów gdyż w takim przypadku skąd kompilator ma wiedzieć że w tej klasie jest taka funkcja i to akurat do niej jest ta funkcja. Możesz mieć 120 klas w w każdej z nich mieć funkcje o nazwie funkcja. Musisz powiedzieć kompialtorowi , która funkcja należy do której klasy a to właśnie robisz poprzez bla::funkcja. Co się tyczy punktu 4: to te :: to operator zasięgu, ale w tym konkretnie użytym przez Ciebie przypadku trudno określić co to ma robić. Ogólnie rzecz biorąć dzieli wartość zmiennej k, przez zmienną k należącą do innego zasięgu. Może ten przykład Ci pomożę: int k=2; int main(int argc, char* argv[]) { { int k=16; printf("%d",k/::k); getch(); } return 0; } Podzieli 16/2... Co do punktu 5 to może chodzi ci o funkcję ... GetCommandFile, bo stwierdzenie "jak pobrać .... w VC++" jest niepoprawne - bo VC ++ to tylko kompilator funkcje masz dane przez język(mian(argc,argv) ) ew. przez WinAPI(wspomniana wyżej GetCommandLine ew. 3 parametr f. WinMain ) TU masz wszystkie(chyba) możliwości.... A temat jeże raczej do C++ tak jak to napisał Pasiu... BTW: Staraj się pisać wyraźnie o co Ci chodzi(a nie tam zamotanie)...szybciej otrzymasz odpowiedź...
-
Zajrzyj... https://www.binboy.org/forum/viewtopic.php?t=5668&highlight=
-
O ile sie nie mylę to kontrolka ReBar ma te wartości za nic. Zawsze jest położona u góry okna i przyjmuje szerokość okna(co do tego to pewności nie mam - ale pewnie tak jest). Wiec nie zmienisz jej położenia i nie uda ci sie jej utworzyć np. przy dolnej krawędzi okna
-
Kontrolka List-View wysyła wartośc NM_RCLICK(do rodzica) jako parametr code w parametrze NMHDR w komunikacie WM_NOTIFY(trochę zamieszane to zdanie). W obsłudze tego komunikatu wsytaczy jak sprawdzisz który element jest najbliżej klikniętego punktu (macro ListView_FindItem) a następnie wyświetlasz menu Popup w standardowy sposób..ew. pozycje w menu uzależniasz od elementu...możesz zobaczyć program,który jest dołączony do arta na ten temat na stronie..nie jest to dzieło sztuki,ale może trochę ci pomoże...w razie problemów pytaj...
-
Nie pamietam teraz dokładnie ,ale GLOBALNY HOOK klawiatury powinien załatwić sprawę i nie powinien mieć problemów podczas gdy aplikacja jest zamykana.
-
Uzyj: liczba=GetDlgItemInt(hOkna,ID_Kontrolki,bUdaloSie,bZeZnakiem);
-
Zainteresuj się Hookiem klawiatury....
-
Co sie tyczy tego to robisz to tak ,aby powiedziec kompilatorowi ,że ptr jest wskaźnikiem do funkcji przyjmującej jeden parametr będący wskaźnikiem do typu char a zwracający int. Co do sprawdzania tego Exe to chyba dobrze... to tyle co mogę powiedzieć...moze i bym cos powiedzial nt. tego argc..ale nie bardzo rozumiem co znaczy "jeśli piszą printf("%d",argc); nie ma?? ;/ " a napewno uruchamiasz program z jakimiś parametrami?? Bo jezeli nie to argc =0...
-
Sugerowałem się tym ,że jak pisałem programik dodający styl przeźroczystości (GWL_EXSTYLE) to nie trzeba było takich manewrów wyprawiać. Styl od razu był akceptowany i ustawiany. A co do działania to napewno działa..bo sprawdzałem :D
-
A jednak(po wiekszym wczytaniu się w MSDN) okazało się ,że opracaje te są cachowane. A więc trzeba dać: SetWindowPos(hWnd,HWND_TOP,0,0,300,200,SWP_FRAMECHANGED); aby zmiany zostały wprowadzone..ważny jest ostatni parametr..pozostałe musisz dobrać tak aby pasowały do tego co chcesz uzyskać... :)
-
Wydaje mi się ,że nie trzeba odświeżać okna ,gdyż samoczynnie styl jest uwzględniany ,ale mogę się mylić. Rzuć kodem...to zobaczymy może coś innego jest złe..
-
Co do usuwania to po prostu użyj zwykłej funkcji DeleteFile lub podobnej. A co się tyczy tworzenia to pierwszy zapis do nieistniejącego pliku za pomocą WritePrivateProfileString tworzy go...
-
MSDN i ja wiemy :D WritePrivateProfileString("Sekcja1","Klucz","Wartosc","c:\\profile.ini"); WritePrivateProfileString("Sekcja1","Klucz2","Wartosc2","c:\\profile.ini"); GetPrivateProfileString("Sekcja1","Klucz","WartoscDomyslna",bufor,sizeof(bufor),"c:\\profile.ini"); Ale *.INI to zaszłość z 16-bitowej Windy...MSDN zaleza stosowanie rejestru zamiast plików *.INI
-
Co do przykładu to zamist z MSDN(bo tam oczywiście zamotali) dam proste trzy linie kodu: WritePrivateProfileString("Sekcja1","Klucz","Wartosc","c:\\profile.ini"); WritePrivateProfileString("Sekcja1","Klucz2","Wartosc2","c:\\profile.ini"); GetPrivateProfileString("Sekcja1","Klucz","WartoscDomyslna",bufor,sizeof(bufor),"c:\\profile.ini"); Dodam ,że pliki INI to pozostałość po 16-bitowym systemie...MS zaleca rejestr do przechowywania danych związanych z aplikacją... Co do odczytania danych z ctrl+alt+delete to pewnie też nie będzie tak prosto(czemu ty wszystko chcesz aby było prosto?? ). Ale możesz sobie wylistować procesy, okna i pokna potomne za pomocą EnumProcesses,EnumWindows,EnumChildWindows. A co się tyczy UNICODE to go się nie wywołuje(no w sumie można i tak powiedzieć)...jest to standrad ,że znak jest na 2 bajtach reprezentowany. Po prostu dajesz na początku #define UNICODE(a może już nawet nie trzeba ,gdyż pewnie to już aplikacje standardowo przymują) i używasz funkcji , które obługują 2B znaczki...np. wsprintf zamiast sprintf. Za dużo by o tym pisać....przeczytaj sobie w MSDN :-) (znów ten MS)....
-
1.Co do tych znaków ascii. To pod dosem miałeś 255 znaków (co pewnie wiesz) i tam położenie polskich znaków diakrytycznych (chyba) nie było ustalone. Natomiast w windzie z UNICODE to już jest chyba ustalone,ale jak je wypisać...zaraz popatrzę i może ajkiś kod rzucę. 2.No jest funkcja strtol tam możesz wybrać bazę ,ale ona przekształca tekst przy podstawie na liczbę long. Poczytaj dokładnie w jakimś opisie na sieci. 3. int sock,i; hostent *host; struct sockaddr_in gniazdo; char buf[20000]; char dane[]="liza.umcs.lublin.pl\0"; char daneaddr[]="217.77.100.101"; unsigned long ul_addr; int wyn; char *wsk=buf; WSAStartup(MAKEWORD(1,1),&wsaData); host = gethostbyname(dane); if (host!=NULL) { memcpy((char *)&gniazdo.sin_addr,host->h_addr,host->h_length); } else { cout<<WSAGetLastError(); if ((ul_addr=inet_addr(daneaddr))!= INADDR_NONE) memcpy((void *)&gniazdo.sin_addr,(void *)&ul_addr,sizeof(in_addr)); /*cout<<"Nie udala sie zaminic nazwy na adres"; getch(); return -1;*/ } sock = socket(PF_INET,SOCK_STREAM,0); if (sock==NULL) { cout<<"Nie udalo sie utworzyc gniazda"; getch(); return -1; } gniazdo.sin_family = AF_INET; gniazdo.sin_port = htons(80); if ((wyn=connect(sock,(struct sockaddr *)&gniazdo,sizeof(gniazdo)))!=0) { close(sock); cout<<"Nie udalo sie polaczyc"; getch(); return -1; } send(sock,"GET / HTTP/1.0\r\n\r\n",strlen("GET / HTTP/1.0\r\n\r\n"),0); int wsk=0; while ((i=recv(sock,buf,sizeof(buf),0))>0) { wsk+=i; cout<<buf; } close(sock); cout<<"Nic ciekawego"; getch(); return 0; Mały przykład pisany na szybko ,zapewne z masą błędów ,ale pokazuje mniej więcej zasadę...oczysicie jest to zrobione na funkcjach blokujących...jak chcesz nieblokujące to będziesz musiał przerobić Co do tutów to polecam ksiązkę: Pisanie programów komputerowych. Andrzej Sopala (MIKOM) - spoko książeczka. 4. Pyrzykład z INI?? Przecież w MSDN jest spoko przykładzik - chyba nie ma sensu go tutaj przekopiowywać?(a może jest)
-
w obecnej chwili nie mam zielonego pojęcia..ale może sprecyzuj do czego Ci potrzebne to kody ASCII?? Oj chyba nie ma takiej funkcji..ale przecież pisze się ją w kilka chwil.. WritePrivateProfile*, GetProfileSection.GetPrivateProfileSection.. Malutki?? Oki.... poczytaj sobie o gniazdach a następnie dokumentację RFC...otwórz gniazdo , wyślij zapytanie i odczytaj to co serwer odpowie...10 minut roboty :-) to i++ wywal poza if'a(ale chyba i tak bedziesz potrzebowal drugiej zmiennej do indeksowania tablicy)....o ile dobrze zrozumiałem...
-
Wystarczyło poszperać i to nie dalej niż na tej stronie :D. Na głowniej jest link do Win32 - Extra Documentation w nim jest klika doców a wsród nich ShellDoc opisujący właśnie tę funkcję jak i kilka innych ciekawych(np. interfejs IShellFolder)...
-
Odchudza wielkość wynikowego exe...powoduje nie włączanie niektórych zbędnych bibliotek jeżeli nie są one wymagane...ale powiem szczerze ,że nie zauważyłem róznicy w wielkości... A co się tyczy literek i OpenGL to zajrzyj na strone NeHe Były kursy na ten temat
-
A sprawdzałeś funkcję SHBrowseForFolder bo chyba o to Ci chodziło...szczególy funkcji w WinAPI