Mercurial > dwindows
comparison win/dw.c @ 68:8d6100960adf
Minor tab changes on OS/2 and Windows.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Tue, 22 Jan 2002 23:45:01 +0000 |
parents | ab9b0fa6c66e |
children | 9510897c0b03 |
comparison
equal
deleted
inserted
replaced
67:ab9b0fa6c66e | 68:8d6100960adf |
---|---|
263 else | 263 else |
264 { | 264 { |
265 SignalHandler *prev = NULL, *tmp = Root; | 265 SignalHandler *prev = NULL, *tmp = Root; |
266 while(tmp) | 266 while(tmp) |
267 { | 267 { |
268 if(tmp->message == message && | |
269 tmp->window == window && | |
270 tmp->signalfunction == signalfunction) | |
271 { | |
272 tmp->data = data; | |
273 free(new); | |
274 return; | |
275 } | |
268 prev = tmp; | 276 prev = tmp; |
269 tmp = tmp->next; | 277 tmp = tmp->next; |
270 } | 278 } |
271 if(prev) | 279 if(prev) |
272 prev->next = new; | 280 prev->next = new; |
330 strnicmp(tmpbuf, BUTTONCLASSNAME, strlen(BUTTONCLASSNAME)+1)==0 || /* Button */ | 338 strnicmp(tmpbuf, BUTTONCLASSNAME, strlen(BUTTONCLASSNAME)+1)==0 || /* Button */ |
331 strnicmp(tmpbuf, COMBOBOXCLASSNAME, strlen(COMBOBOXCLASSNAME)+1)==0 || /* Combobox */ | 339 strnicmp(tmpbuf, COMBOBOXCLASSNAME, strlen(COMBOBOXCLASSNAME)+1)==0 || /* Combobox */ |
332 strnicmp(tmpbuf, LISTBOXCLASSNAME, strlen(LISTBOXCLASSNAME)+1)==0 || /* List box */ | 340 strnicmp(tmpbuf, LISTBOXCLASSNAME, strlen(LISTBOXCLASSNAME)+1)==0 || /* List box */ |
333 strnicmp(tmpbuf, UPDOWN_CLASS, strlen(UPDOWN_CLASS)+1)==0 || /* Spinbutton */ | 341 strnicmp(tmpbuf, UPDOWN_CLASS, strlen(UPDOWN_CLASS)+1)==0 || /* Spinbutton */ |
334 strnicmp(tmpbuf, TRACKBAR_CLASS, strlen(TRACKBAR_CLASS)+1)==0 || /* Slider */ | 342 strnicmp(tmpbuf, TRACKBAR_CLASS, strlen(TRACKBAR_CLASS)+1)==0 || /* Slider */ |
335 strnicmp(tmpbuf, WC_LISTVIEW, strlen(WC_LISTVIEW)+1)== 0) /* Container */ | 343 strnicmp(tmpbuf, WC_LISTVIEW, strlen(WC_LISTVIEW)+1)== 0 || /* Container */ |
344 strnicmp(tmpbuf, WC_TREEVIEW, strlen(WC_TREEVIEW)+1)== 0) /* Tree */ | |
336 return 1; | 345 return 1; |
337 return 0; | 346 return 0; |
338 } | 347 } |
339 | 348 |
340 HWND _normalize_handle(HWND handle) | 349 HWND _normalize_handle(HWND handle) |
2071 if(!cinfo || !cinfo->pOldProc) | 2080 if(!cinfo || !cinfo->pOldProc) |
2072 return DefWindowProc(hWnd, msg, mp1, mp2); | 2081 return DefWindowProc(hWnd, msg, mp1, mp2); |
2073 return CallWindowProc(cinfo->pOldProc, hWnd, msg, mp1, mp2); | 2082 return CallWindowProc(cinfo->pOldProc, hWnd, msg, mp1, mp2); |
2074 } | 2083 } |
2075 | 2084 |
2085 BOOL CALLBACK _treewndproc(HWND hWnd, UINT msg, WPARAM mp1, LPARAM mp2) | |
2086 { | |
2087 ContainerInfo *cinfo; | |
2088 | |
2089 cinfo = (ContainerInfo *)GetWindowLong(hWnd, GWL_USERDATA); | |
2090 | |
2091 switch( msg ) | |
2092 { | |
2093 case WM_CHAR: | |
2094 if(LOWORD(mp1) == '\t') | |
2095 { | |
2096 if(GetAsyncKeyState(VK_SHIFT)) | |
2097 _shift_focus_back(hWnd); | |
2098 else | |
2099 _shift_focus(hWnd); | |
2100 return FALSE; | |
2101 } | |
2102 break; | |
2103 } | |
2104 | |
2105 if(!cinfo || !cinfo->pOldProc) | |
2106 return DefWindowProc(hWnd, msg, mp1, mp2); | |
2107 return CallWindowProc(cinfo->pOldProc, hWnd, msg, mp1, mp2); | |
2108 } | |
2109 | |
2076 void _changebox(Box *thisbox, int percent, int type) | 2110 void _changebox(Box *thisbox, int percent, int type) |
2077 { | 2111 { |
2078 int z; | 2112 int z; |
2079 | 2113 |
2080 for(z=0;z<thisbox->count;z++) | 2114 for(z=0;z<thisbox->count;z++) |
3540 DestroyWindow(tmp); | 3574 DestroyWindow(tmp); |
3541 return NULL; | 3575 return NULL; |
3542 } | 3576 } |
3543 | 3577 |
3544 cinfo->pOldProc = (WNDPROC)SubclassWindow(tmp, _containerwndproc); | 3578 cinfo->pOldProc = (WNDPROC)SubclassWindow(tmp, _containerwndproc); |
3579 cinfo->cinfo.fore = cinfo->cinfo.back = -1; | |
3545 | 3580 |
3546 SetWindowLong(tmp, GWL_USERDATA, (ULONG)cinfo); | 3581 SetWindowLong(tmp, GWL_USERDATA, (ULONG)cinfo); |
3547 dw_window_set_font(tmp, DefaultFont); | 3582 dw_window_set_font(tmp, DefaultFont); |
3548 return tmp; | 3583 return tmp; |
3549 } | 3584 } |
3564 0,0,2000,1000, | 3599 0,0,2000,1000, |
3565 DW_HWND_OBJECT, | 3600 DW_HWND_OBJECT, |
3566 (HMENU)id, | 3601 (HMENU)id, |
3567 NULL, | 3602 NULL, |
3568 NULL); | 3603 NULL); |
3604 ContainerInfo *cinfo = (ContainerInfo *)calloc(1, sizeof(ContainerInfo)); | |
3569 TreeView_SetItemHeight(tmp, 16); | 3605 TreeView_SetItemHeight(tmp, 16); |
3606 | |
3607 if(!cinfo) | |
3608 { | |
3609 DestroyWindow(tmp); | |
3610 return NULL; | |
3611 } | |
3612 | |
3613 cinfo->pOldProc = (WNDPROC)SubclassWindow(tmp, _treewndproc); | |
3614 cinfo->cinfo.fore = cinfo->cinfo.back = -1; | |
3615 | |
3616 SetWindowLong(tmp, GWL_USERDATA, (ULONG)cinfo); | |
3570 dw_window_set_font(tmp, DefaultFont); | 3617 dw_window_set_font(tmp, DefaultFont); |
3571 return tmp; | 3618 return tmp; |
3572 } | 3619 } |
3573 | 3620 |
3574 /* | 3621 /* |
3659 0,0,2000,1000, | 3706 0,0,2000,1000, |
3660 DW_HWND_OBJECT, | 3707 DW_HWND_OBJECT, |
3661 (HMENU)id, | 3708 (HMENU)id, |
3662 NULL, | 3709 NULL, |
3663 NULL); | 3710 NULL); |
3711 ContainerInfo *cinfo = (ContainerInfo *)calloc(1, sizeof(ContainerInfo)); | |
3712 | |
3713 if(!cinfo) | |
3714 { | |
3715 DestroyWindow(tmp); | |
3716 return NULL; | |
3717 } | |
3718 | |
3719 cinfo->pOldProc = (WNDPROC)SubclassWindow(tmp, _treewndproc); | |
3720 cinfo->cinfo.fore = cinfo->cinfo.back = -1; | |
3721 | |
3722 SetWindowLong(tmp, GWL_USERDATA, (ULONG)cinfo); | |
3664 dw_window_set_font(tmp, DefaultFont); | 3723 dw_window_set_font(tmp, DefaultFont); |
3665 return tmp; | 3724 return tmp; |
3666 } | 3725 } |
3667 | 3726 |
3668 /* | 3727 /* |