Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 7

Построить главное окно с кнопкой для его закрытия (button)

22.12.2012, 02:12. Показов 4087. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброй ночи! Очень нужна ваша помощь, реализовать программу на ассемблере:построить главное окно с кнопкой для его закрытия (button). Никак не могу разобраться в этом
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.12.2012, 02:12
Ответы с готовыми решениями:

Главное окно скрыто... как развернуть все Второстепенные окна после сворачивания(разворачивается только главное невидимое
Главное окно скрыто... как развернуть все Второстепенные окна после сворачивания(разворачивается только главное невидимое)) ) и как можно...

Можно ли создать простое окно с кнопкой и свернуть его в трей?
Подскажите, как реализовать на с++...Большая благодарность, если кинете примерный код.

Как создать button для закрытия form (messagebox)?
Подскажите пожалуйста, как прописать button, чтобы при нажатии на него выходило окно "Вы хотите выйти?" - "да" или...

4
0 / 0 / 0
Регистрация: 22.12.2012
Сообщений: 7
22.12.2012, 03:56  [ТС]
Помогите, очень прошу! Никак не могу розобраться в использовании функций WIN32 API
0
 Аватар для Troll_Face
608 / 406 / 8
Регистрация: 26.04.2012
Сообщений: 2,065
22.12.2012, 08:14
есть такая вещь, masmBuilder называется, так вот в ней заделать сию прогу как нефиг делать. дерзайте
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
    .386
    .model flat,stdcall
    option casemap:none
    include \masm32\include\windows.inc
    include \masm32\include\user32.inc
    include \masm32\include\kernel32.inc
    include \masm32\include\gdi32.inc
    include \masm32\include\comdlg32.inc
    include \masm32\include\shell32.inc
    includelib \masm32\lib\user32.lib
    includelib \masm32\lib\kernel32.lib
    includelib \masm32\lib\gdi32.lib
    includelib \masm32\lib\comdlg32.lib
    includelib \masm32\lib\shell32.lib
WinMain proto :DWORD,:DWORD,:DWORD,:DWORD
RGB macro red,green,blue
    xor     eax,eax
    mov     ah,blue
    shl     eax,8
    mov     ah,green
    mov     al,red
endm
szText MACRO Name,Text:VARARG
    LOCAL   lbl
    jmp     lbl
    Name    db Text,0
    lbl:
ENDM
.const
Button1ID       equ 1
.data?
hwndButton1     HWND ?
hInstance       HINSTANCE ?
CommandLine     LPSTR ?
.data
TextButton1     db "Button1",0
;_______________
ClassName       db "mbuilder",0
BtnClName       db "button",0
FormCaption     db "Form",0
;_______________
.code
start:
    invoke  GetModuleHandle,NULL
    mov     hInstance,eax
    invoke  GetCommandLine
    invoke  WinMain,hInstance,NULL,CommandLine,SW_SHOWDEFAULT
    invoke  ExitProcess,eax
WinMain proc hInst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:LPSTR,CmdShow:DWORD
LOCAL wc    :WNDCLASSEX
LOCAL msg   :MSG
LOCAL hwnd  :HWND
    mov     wc.cbSize,SIZEOF WNDCLASSEX
    mov     wc.style,CS_HREDRAW or CS_VREDRAW
    mov     wc.lpfnWndProc,offset WndProc
    mov     wc.cbClsExtra,NULL
    mov     wc.cbWndExtra,NULL
    push    hInst
    pop     wc.hInstance
    mov     wc.hbrBackground,COLOR_BTNFACE+1
    mov     wc.lpszClassName,OFFSET ClassName
    invoke  LoadIcon,NULL,IDI_APPLICATION
    mov     wc.hIcon,eax
    mov     wc.hIconSm,eax
    invoke  LoadCursor,NULL,IDC_ARROW
    mov     wc.hCursor,eax
    invoke  RegisterClassEx,addr wc
invoke CreateWindowEx,0,ADDR ClassName,ADDR FormCaption,WS_SYSMENU or WS_SIZEBOX,448,84,384,291,0,0,hInst,0
    mov     hwnd,eax
    INVOKE  ShowWindow,hwnd,SW_SHOWNORMAL
    INVOKE  UpdateWindow,hwnd
    .WHILE TRUE
        invoke  GetMessage,ADDR msg,0,0,0
        .BREAK .IF (!eax)
        invoke  TranslateMessage,ADDR msg
        invoke  DispatchMessage,ADDR msg
    .ENDW
    mov eax,msg.wParam
    ret
WinMain endp
WndProc proc hWnd:HWND,uMsg:UINT,wParam:WPARAM,lParam:LPARAM
    .IF uMsg == WM_DESTROY
        invoke  PostQuitMessage,NULL
    .ELSEIF uMsg == WM_CREATE
invoke CreateWindowEx,0,ADDR BtnClName,ADDR TextButton1,WS_CHILD or BS_DEFPUSHBUTTON or WS_VISIBLE,128,104,75,25,hWnd,Button1ID,hInstance,0
        mov     hwndButton1,eax
    .ELSEIF uMsg == WM_COMMAND
        mov eax,wParam
        .IF lParam != 0
            .IF ax == Button1ID
                shr eax,16
                .IF ax == BN_CLICKED
                    invoke  ExitProcess, 0
                .ENDIF
            .ENDIF
        .ENDIF
    .ELSE
        invoke  DefWindowProc,hWnd,uMsg,wParam,lParam
        ret
    .ENDIF
    xor     eax,eax
    ret
WndProc endp
end start
0
4187 / 1835 / 220
Регистрация: 06.10.2010
Сообщений: 4,123
22.12.2012, 09:54
На FASM`е всё проще
Вложения
Тип файла: rar Dialog.rar (777 байт, 68 просмотров)
1
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16371 / 7683 / 1080
Регистрация: 11.11.2010
Сообщений: 13,757
22.12.2012, 15:18
sofia_s,
найди в Интернете книжку Пирогова "Ассемблер для Windows" -- там был такой пример

создание диалога с единственной кнопкой:
  • через редактор ресурсов
  • через заполнение структур
  • программное создание кнопки в диалоге и в окне
  • создание диалога через DialogTemplate
скачай отсюда
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.12.2012, 15:18
Помогаю со студенческими работами здесь

Закрыть дочернее окно и открыть в единственном экземпляре Главное окно
Есть главная форма Main Form , там кнопка Button 1 при нажатии на Button 1 открывыется дочерняя форма Form 1, на фомрме Form 1 есть кнопка...

Создать окно поверх главного окна, чтобы главное окно было доступно
здравствуйте. подскажите пожалуйста как сделать окно поверх главного окна, но чтобы главное окно было доступно, как в word окно...

Как сделать окно с полями ввода и кнопкой для вычисления в PyQt4?
Добрый день, всем. Есть такая задача. Нужно на python+Qt4 сделать окно, с двумя целочисленными полями ввода и одной кнопкой, по...

Создать класс окно, используя композицию и иерархию, определить окно заголовком и кнопкой.
Создать класс окно, используя композицию и иерархию, определить окно заголовком и кнопкой. Класс заголовок и окно тоже должны быть...

Траблы с кнопкой закрытия крышки ноута Asus
У меня Asus PRO58S Series! Кнопка закрытия крышки (на выбор: спящий режим, гибернация, выключение компа или ничего не делать) встроена...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru