Обсуждение:WinDLG (маленький оконщик)
0 (0)
Обсуждение:WinDLG (маленький оконщик) ( Обсуждение примера 15.05.2009 15:53 )
0(0)SelectDirectory + класс построения на RSL windows диалогов через Windows API.
моя копейка в копилку окон из RSL :)
Посмотреть пример
>> ОтветитьА примерчик грида? ( LeonL 18.05.2009 21:25 )
0(0)Боюсь, это вам уже к VclRsl дорога.. ( sdo 19.05.2009 08:15 )
0(0)В sWinDlg нет первого ни второго ни третьего - это всего лишь обертка нескольких WINDOWS-функций для реализации win-диалогов на RSL. Внутри dlm нет ни одной компоненты - каждый диалог создается из кода.
Я принялся за эту работу как так мне требовалось поставить несколько галочек в клиент-банке, а встроенные VclMenu слегка расстраивали. По мере углубления в Win API мне становилось все интереснее и интереснее, я увидел что все эти борландовские компоненты .. в общем при разработке несложных программ можно вполне обходиться без них, без всяких там bpl и лишних dll - microsoft предоставила в winuser.h вполне сносные гвозди чтобы сколотить улей (для дома лучше взять таки архитектора типа VS).
So, более всех пользы от sWinDlg получил я - в виде большего понимания мира windows изнутри.
И только потом, когда я полез выкладывать свою rsl-обертку мелкомягких гвоздей, я обнаружил VclRsl :)
В общем, если вы уверены что вам нужна трехзвенка - попробую прикрутить.
Грид можно попытаться реализовать через WC_LISTVIEW (из Common Controls) - хотя это видится мне не совсем кузявым решением.
А насчет раскраски... даже не знаю - тоже наверное как-то можно, однако в итоге размер вырастет еще раза в два, и не получим ли мы в итоге MSVS_RSL ? :)
>> Ответить
в трехзвенке работает? ( deusex 17.03.2013 20:42 )
0(0)у меня почему-то почти сразу отваливается обработка сообщений окна (т.е. wndProc сообщения не доходят никакие). Может кто сталкивался?
Установка хуков тоже не помогает.
>> Ответитьдаже и не пробовал заводить в трехвенке, т.к. ( sdo 18.03.2013 15:39 )
0(0)писал эту библиотеку исключительно для двухзвенных оконных приложений (не консольных, у них свои интерфейсы)
Чтобы отобразить виндовое окно из этой библиотеки на мониторе пользователя, необходимо, чтобы код рсл исполнялся в оперативной памяти на машине пользователя. В случае с трехзвенкой этого наверно, можно достичь используя, например, CallRemoteRsl и т.п.
Если же код с окном исполняется рс-банком, то увидеть окно можно будет только в двухзвенке, т.к. при трехзвенке сервер приложений, обеспечивающий обмен информацией между процессом и монитором ползователя - ничего о создаваемых виндовых окнах не знает и окно, даже если создастся - будет принадлежать монитору (Screen) на сервере (еще вопрос какой там монитор у консольного окна, может поэтому сообщения и загибаются на каком-то).
Для рс-банков тут у людей есть другие, более стабильные решения.
>> Ответить