PDA

Показать полную графическую версию : посоветуйте ф-цию WinApi


vasketsov
12-04-2002, 21:36
посоветуйте ф-цию WinApi
чтоб выводила простое окошко, с двумя кнопками типа Yes No или OK Cancel или пофигу с каким текстом, главное чтобы в выводимом окошечке было поле для ввода строки текста.

Типа InputQuery в дельфи или prompt в javascript.

Надо от юзера получить строку текста, а самому формочку писать ломает (а может в dll-ях каких стандартных сей ресурс есть?).

Можно из Nt Native Api, те подержка Win9x не обязательна.
Обязательно, чтоб стандартное апи юзалось, но не обязательно документированное. То есть, чтоб на любой стандартной НТ работало, в минимально допустимой стандартной конфигурации.

Вообще, есть такая ф-ция?
А то нигде такую не нашел.
Даже по System32 полным поиском по строке Prompt ничего нужного не вылазит.

ruslandh
13-04-2002, 05:35
Насколько я помню (давно не брал ружья я в руки) - это MessageBox

ivank
13-04-2002, 09:24
ruslandh
MesssgeBox это просто окошко с кнопочами, без поля ввода.

vasketsov
Я пока только нашёл подобную функцию для VB, чён-то неполучилось узнать, откуда она импортируется... А так, ты же вроде бы на Дельфи (в основном) пишешь, там сделать такую формочку -- пара минут.

Есть ещё один вариант (бредовый) -- поднимаешь Active Scripting и через него выполняешь кусок кода на VB/JS :) Это гораздо сложнее чем самому формочку делать, зато когда вся программа на COM завязана (+написан класс для работы с ActiveScriptingом, но это совсем несложно), то занимает пару строчек.

Добавлено:

vasketsov
На счёт Дельфи прогнал, чуть-чуть внимательнее прочитав твой пост, понял, что нужно именно WinApi, тем более что в Delphi такая весчь есть.

vasketsov
13-04-2002, 10:36
ivank
InputQuery сама формочку делает.
Прога у меня на чистом апи, даже RTL я беру из NTDLL.DLL
Предполагается ее работа только на платформах NT.
Так что всякая левота типа кома и скриптинга отпадает.
Да и ВБ скорее всего сам рисует окошко.

Так что пока ответ не найден.

ivank
13-04-2002, 15:06
vasketsov
Да и ВБ скорее всего сам рисует окошко. Нет, т.е. да. Но он берёт её из своей DLLки (msvb60.dll). Можно было её оттуда импортировать, только она недокументированная :( (rtcInputBox называется)

vasketsov
13-04-2002, 15:21
ivank
да не охота VB тащить все-таки.

ruslandh
14-04-2002, 00:59
vasketsov
Извини невнимательго прочел про поле ввода

ruslandh
17-04-2002, 07:22
Я немного отдалился от Win программирования, но разве нельзя создать заданное окно в виде ресерса, а потом загрузить его средствами WinApi ?

Добавлено:

Я немного отдалился от Win программирования, но разве нельзя создать заданное окно в виде ресерса, а потом загрузить его средствами WinApi ?

ivank
17-04-2002, 09:40
ruslandh
Дык это ж всё равно надо некоторый код писать, скорее всего он так и сделал. А так одной строчкой всё получилось бы.

vasketsov
17-04-2002, 11:27
ruslandh
можно. но лениво одинаковые ресурсы плодить в системе.

ivank
да я еще никак не сделал.

видимо, буду ресурс рисовать.




© OSzone.net 2001-2012