Hi
1xru
SetWindowRgn -nal beallitod az ablak alakjat, WM_NCHITTEST-re valaszolva
megmondod a Windowsnak, hogy melyik terulet mije az ablakodnak, es kb.
ennyi. Ja, ha meretezheto az ablak, akkor neked kell a regiot valtoztatnod.
Udv
-----------------------------------
Dr. Gyorgy Schadt, MCSD
|
Sziasztok!
Tud-e valamelyikotok FREE C forditorol a 8051-es mikrokontroller-
csaladhoz? (Kereskedelmi valtozat sok van, de nagyon borsos aron.)
En egyrol tudok, az SDC-rol, de ez meg csak Win95/WinNT-n fut.
Udv: Karoly
|
>1.: Hogyan lehet lekerdezni az aktualis idot? Mar mindenfele
#include <time.h>
time_t st;
struct tm *stm;
st = time(0);
stm = localtime( &st );
A *tm struktura mezoit a "man localtime"-ban tudod megnezni.
>2.: Nincs, vagy csak en nem talaltam lehetoseget arra, hogy UNIX alatt
>C-ben kepernyot toroljek? a clrscr()-hez kellene a conio.h, azt viszont a
>fordito nem talalja.
A terminalok kulonbozosege miatt "kepernyo" kezelesre kulon csomag van
"ncurses" neven. Ha specialisan a linux konzolon kell kepernyot torolnod
akkor a "\E[H\E[J" (\E az escape karaker, kodja 27) karaktersorozatot
kell kikuldeni ra. A linux konzol definiciojat az
"/usr/lib/terminfo/l/linux" fajlban talalod meg leforditott formaban,
ezt az "infocmp" program forditja vissza "olvashato" formaba, ebbol
vettem ki az escape kodokat.
>3.: Valami hasonlo dolog is kellene, mint a Pascal keypressed fuggvenye
>azzal a kulonbseggel, hogy -mivel tudtommal a rendes C-ben nincs logikai
>tipus- a visszateresi erteke a karakter ASCII-kodja legyen (vagy 0, ha
>nincs billentyuleutes).
Az ncurses vagy a readline csomagban lehet hogy van ilyesmi, nekem az
alabbi sorok segitettek par evvel ezelott. A megoldas az, hogy a
terminalt "raw" modba kell allitani, utana pedig select-tel varni az
input megjelenesere.
#include <unistd.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <termios.h>
void set_raw( int fd ){ struct termios parm;
if( isatty( fd ) ){ ioctl( fd, TCGETS, &parm );
cfmakeraw( &parm ); parm.c_cc[VMIN] = 1; parm.c_cc[VTIME] =
0; ioctl( fd, TCSETSW, &parm );
fcntl( fd, F_SETFL, fcntl( fd, F_GETFL, 0 ) | O_NONBLOCK ); };};
Kicsit egyszerusitettem a kodon, remelem meg mukodik :)
z2
|