|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Мар 26, 2004 11:43:28 Есть небольшая проблема: в собственной программе есть стандартная кнопка которая должна принимать состояния отпущена/нажата. При нажатии кнопка должна остаться в утопленном состоянии. При повторном - в отжатом. Что-то я боролся-боролся с этим и пока все безуспешно. Может кто-нть посоветовать что делать? |
|
|
Дата: Мар 26, 2004 12:56:09 Все решилось. Помощь не требуется. |
|
|
Дата: Мар 26, 2004 12:57:47 Поделился бы решением что ли.. ;-) или нужно было просто задисаблить кнопу? |
|
|
Дата: Мар 26, 2004 17:36:38 Asterix Подозреваю, что MeteO заюзал "BS_AUTORADIOBUTTON | BS_PUSHLIKE" :-) |
|
|
Дата: Мар 27, 2004 08:40:02 А я как-то видел программу MicroArt - редактор иконок, написанный на VB. Так там использовались стандартные кнопки, но с помощью сабклассинга они работали как свитчи. Если надо, могу посмотреть. |
|
|
Дата: Апр 9, 2004 15:53:09 MeteO, раскрой всё-таки секрет этой злой кнопки, plizzz =) Я долблюсь над этим уже много времени(да и наверно, не только я) и никак не получается. Уже обо всё попередолбился - всё равно никак не получается..(( Или если MeteO не скажет, дак крутые хацкеры, помогите пожалуйста новичку...новичкам нужно помагать ;) А то я точно головой монитор разобью скоро... |
|
|
Дата: Апр 9, 2004 18:32:28 отфильтруйте первый WM_BUTTONUP, штоб ему не_поднятся и усё; |
|
|
Дата: Апр 9, 2004 20:17:58 Эх, попробовал я с этими сообщениями поработать: WM_LBUTTONUP and WM_LBUTTONDOWN, но чё-то не просекаю, не могу их привязать к кнопке, они почему-то не вызываются когда кликаешь на кнопку, а вызываются только когда кликаешь на область вокруг кнопки, хотя хэндл я толкал от кнопы, а не от окна...фиг знает Не могу я. Опыта маловато. Но я всё-таки сделал, что хотел, только с помощью SW_HIDE and SW_SHOW...через ж*пу конечно, но всё же..=) Может кто-нить кинет кусок кода про злую кнопку-свитч??? |
|
|
Дата: Апр 9, 2004 20:54:11 >Может кто-нить кинет кусок кода про злую кнопку-свитч??? давайте на-оборот, вы кидайте свой код сюда, |
|
|
Дата: Апр 10, 2004 10:38:32 А у меня и кинуть-то щас собственно нечего, все свои попытки я уже стёр. А заново изобретать как-то ни очень охото, я на это уже уйму времени потратил, и ничё лучше чем с использованием SW_HIDE SW_SHOW не придумал. Я пробовал по-разному: и с флагами (типа TRUE FALSE), и со всякими там залипаниями кнопки и с сообщениями к ним типа BM_GETSTATE, BM_SETSTATE и др., с сообщениями WM_BUTTON - ничё не получилось всё-равно. Да и вообще я ассм под винд всего учу, разбираю ни больше месяца, хотя много чего уже попереразбирал. и ещё, выставлять на показ свои изобретения сделанные через ж*пу по неопытности, как-то не очень хочется...хехе Эх... никто помочь не хочет, придётся наверно забить на это... |
|
|
Дата: Апр 10, 2004 10:50:31 вот пример таких кнопок
//#include "include\afxres.h"
#include "resource.h"
IDD_PRINTDIALOG DIALOGEX 0, 0, 332, 108
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_TOOLWINDOW
FONT 8, "MS Sans Serif"
BEGIN
ICON IDI_MAINICON,-1,15,5,20,20
CTEXT "Фiсун А.В.",-1,5,30,39,8
CTEXT "2001 год",-1,5,40,40,8
CONTROL "Диск A:",IDC_DRIVEACHECK,"Button",BS_AUTOCHECKBOX |
BS_PUSHLIKE | WS_TABSTOP,5,55,40,10
CONTROL "Диск B:",IDC_DRIVEBCHECK,"Button",BS_AUTOCHECKBOX |
BS_PUSHLIKE | WS_TABSTOP,5,65,40,10
CONTROL "Печать",IDC_PRINTRADIO,"Button",BS_AUTORADIOBUTTON |
BS_PUSHLIKE,5,85,40,10
CONTROL "Открыть",IDC_OPENRADIO,"Button",BS_AUTORADIOBUTTON |
BS_PUSHLIKE,5,95,40,10
LISTBOX IDC_PRINTLIST,50,5,225,85,LBS_SORT | LBS_MULTIPLESEL |
LBS_HASSTRINGS | LBS_DISABLENOSCROLL | WS_VSCROLL |
WS_HSCROLL,WS_EX_DLGMODALFRAME
GROUPBOX "",-1,50,80,225,25
CONTROL "П/кат.",IDC_SUBCHECK,"Button",BS_AUTOCHECKBOX |
BS_PUSHLIKE | WS_DISABLED | WS_TABSTOP,55,90,30,10
CONTROL ".doc",IDC_DOCCHECK,"Button",BS_AUTOCHECKBOX |
BS_PUSHLIKE | WS_TABSTOP,90,90,30,10
CONTROL ".xls",IDC_XLSCHECK,"Button",BS_AUTOCHECKBOX |
BS_PUSHLIKE | WS_TABSTOP,120,90,30,10
CONTROL ".rtf",IDC_RTFCHECK,"Button",BS_AUTOCHECKBOX |
BS_PUSHLIKE | WS_TABSTOP,150,90,30,10
CONTROL ".txt",IDC_TXTCHECK,"Button",BS_AUTOCHECKBOX |
BS_PUSHLIKE | WS_TABSTOP,180,90,30,10
CONTROL ".ttf",IDC_TTFCHECK,"Button",BS_AUTOCHECKBOX |
BS_PUSHLIKE | WS_TABSTOP,210,90,30,10
CONTROL ".bmp",IDC_BMPCHECK,"Button",BS_AUTOCHECKBOX |
BS_PUSHLIKE | WS_TABSTOP,240,90,30,10
PUSHBUTTON "Старт!",IDC_PRINTBTN,280,5,50,15,0,WS_EX_CLIENTEDGE
PUSHBUTTON "Обновить",IDC_REFBTN,280,20,50,15,0,WS_EX_CLIENTEDGE
PUSHBUTTON "Автор",IDC_ABOUTBTN,280,35,50,15,0,WS_EX_CLIENTEDGE
DEFPUSHBUTTON "Выход",IDC_EXITBTN,280,50,50,15,0,WS_EX_CLIENTEDGE
END
IDI_MAINICON ICON DISCARDABLE "mainicon.ico"
|
|
|
Дата: Апр 10, 2004 11:29:59 да-а я и не думал, что можно так мешать флаги...круто Бесконечное спасибо, KiNDeR! Начинаю многое понимать с этого момента...=) |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.071 |