· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.WIN32 —› Утопить кнопку

Посл.отвђт Сообщен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