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

 WASM Phorum —› WASM.PROJECTS —› XXControls

<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . >>

Посл.отвђт Сообщенiе


Дата: Авг 12, 2004 21:22:29 · Поправил: Chib777

PreView


Дата: Авг 12, 2004 21:27:28

q_q

Там есть пример REdit.exe называеться, открой файл RTF, это для того что бы показать как работают функции печати, параметры страницы, предварительный просмотр. Если посмотришь исходник REdit то увидишь что, в нём всё это осуществляеться практически 3 строчками кода.

Эту DLL можно использовать с любым edit контролом (не только RichEdit), дело только в том что этот edit должен обрабатывать пару сообщений как это делает RichEdit контрол (например EM_FORMATRANGE, ещё пару попроще).
Я сейчас пытаюсь сделать эти оброботчики для редактора FASMa, но пока продвижение слабое, я никогда не писал редакторы и не знаю всех принципов работы, да и плохо знаю синтаксис фасма, но может быть всё и получиться. Поняв как сделать это для одного редактора, с другими думаю будет проще, принцип у них наверно одинаковый.

Uri
Спасибо, но я непонял где именно глюк, там текст неправильно немного отображаеться, опиши подробнее пожалуйста.


Дата: Авг 13, 2004 05:02:39

Chib777
Понятно.
Критиковать можно?


Дата: Авг 17, 2004 18:16:24

q_q

Критиковать можно и нужно.

Новая версия, библы XXMenu, появилась новая функция SetMenuIcon, она позволяет скажем для главного меню (и других тоже), устанавливать иконки для любого кол -ва итмов одним вызовом функции, одна строчка кода, это на мой взгляд более компактнее, хотя можно и предыдущим способом пользоваться совместно. Для инфы по функциям смотрите XXMenu.txt.

1815264047__XXMenu_v0.0.2.2.rar


Дата: Авг 17, 2004 18:19:27 · Поправил: Chib777

XXRichEdit - превью, печать, настройка параметров страницы.
Откроете программой REdit.exe файл *.rtf, и всё увидите.
Библа идеально подходит для RichEdit контрола всех версий.

_921058099__REdit.zip


Дата: Авг 18, 2004 10:49:53

Chib777
1) При изменении размеров окна предварительного просмотра клиентская область мерцает.
2) Зачем в меню предварительного просмотра настройка стиля меню. Imho это понты.
3) Программа REdit.exe не обрабатывает WM_SIZE, загрузи большой rtf'ник, нажми на кнопку "Восстановить" (вторая справа вверху), куда пропадет вертикальная полоска прокрутки?


Дата: Авг 18, 2004 17:37:56 · Поправил: Chib777

q_q

1) При изменении размеров окна предварительного просмотра клиентская область мерцает.

> небольшая недороботка, на мой взгляд довольно таки сносно.

2) Зачем в меню предварительного просмотра настройка стиля меню. Imho это понты.

> прав на 100%, давно хотел это убрать и оставить только Office 2000.

3) Программа REdit.exe не обрабатывает WM_SIZE, загрузи большой rtf'ник, нажми на кнопку "Восстановить" (вторая справа вверху), куда пропадет вертикальная полоска прокрутки?

> REdit.exe - это программа пример, для библотеки XXRichEdit. Немного неправильно выразился это библа XXRichEdit.dll не обрабатывает сообщение WM_SIZE.
В действительности она всё обрабатывает, то что исчезают полосы прокрутки сделано умышленно, когда страница полностью видна на экране. То что документ вышел за границы листа, а страница полностью помещалась на экране, значит это не ошибка, смысл прокручивать то что всё равно не напечатаеться. Может у тебя была другая ситуация?

Спасибо за то что обратил внимание.


Дата: Авг 18, 2004 18:08:38

Я, например, просто терпеть не могу менюхи в стиле Office XP/2003. И не понимаю тысяч разработчиков, которые с упорством копируют один и тот же стиль. Оно понятно - хочется "не хуже, чем у других", но может лучше создать свой стиль, чтобы было "лучше, чем у других"?


Дата: Авг 18, 2004 18:23:02

Toxic
„Я, например, просто терпеть не могу менюхи в стиле Office XP/2003“
Не нравится - не ешь. А вот мне например ОЧЕНЬ нравится.

И вообще, где конструктивная критика? Предложи не сделать как-нибудь по-другому, по-своему, а "вот сдесь надо так, а сдесь - так", и т.д.

Вот.


Дата: Авг 19, 2004 04:40:23

„лучше создать свой стиль, чтобы было "лучше, чем у других"“
не лучше - юзеры пугаются всего необычного, к тому нормальных реализаций стиля XP/2003 очень не много - есть к чему стремиться


Дата: Авг 19, 2004 04:54:12

Chib777 > давно хотел это убрать и оставить только Office 2000.
Не спеши. Всегда найдутся несогласные.

Uri > Предложи ...
Надо придумать что-то, например, ключ/ключи реестра (ini-файл я думаю перегиб, хотя сам предпочитаю использовать их), которые будут влиять на отрисовку меню при помощи XXMenu.dll. Т.е. пользователь установит (опять же нужна программа управления ключами) какой стиль меню ему нравится вообще и если необходимо, то для каждой конкретной программы свой стиль. XXMenu.dll будет искать ключ для текущей программы, например, REdit.exe, если его нет, то определять общий стиль, и использовать найденный стиль для всех меню (созданных при помощи XXMenu.dll) этой конкретной программы.

Chib777
Может у тебя была другая ситуация?
Ты не понял. У тебя размер окна hWndEdit не меняются когда меняются размеры окна родителя - hWnd. В подпрограмме REdit.asm.WndProc надо добавить
...
.elseif uMsg == WM_SIZE
  .if hWndEdit != NULL
    mov eax,lParam
    mov ecx,eax
    and eax,0FFFFh
    shr ecx,16
    invoke MoveWindow, hWndEdit, 0, 0, eax, ecx, TRUE
  .endif
...
после того как ты добавишь этот код, и попробуешь менять размеры окна родителя появится мерцание, оно устраняется обработкой WM_ERASEBKGND
...
.elseif uMsg == WM_ERASEBKGND
  .if hWndEdit != NULL
    return 1
  .endif
...
еще в той же оконной процедуре необходимо обрабатывать WM_SETFOCUS
...
.elseif uMsg == WM_SETFOCUS
  .if hWndEdit != NULL
    invoke SetFocus, hWndEdit
  .endif
...
чтобы понять, зачем это надо попробуй, не вставляя этот код, сделать окно не активным, а потом сделать его активным за заголовок родителя.

Эти нюансы - это азы обработки сообщений окном, имеющим ребенка, который занимает всю клиентскую область и может иметь фокус ввода.


Дата: Авг 19, 2004 11:36:40

q_q
„Надо придумать что-то, например, ключ/ключи реестра (ini-файл я думаю перегиб, хотя сам предпочитаю использовать их), которые будут влиять на отрисовку меню при помощи XXMenu.dll.“
По-моему как-раз и не стоит. Нужна просто реализация методов (процедур) xxmenu.dll, для изменения стиля (они уже есть, точнее она :), а управление стилями возложить полностью на программиста, использующего библиотеку. Только так можно будет получить необходимую гибкость в использовании библиотеки.


Дата: Авг 19, 2004 11:51:12

Uri
Т.е. переложить ответственность на разработчика использующего XXMenu.dll?

Я не зря обратил внимание, на наличие понтового меню. Ты полагаешь, что разработчики будут поступать иначе? За примером далеко ходить не надо. Я обратил внимание на мерцание окна предварительного просмотра, а ответ Chib777 (в свете твоего сообщения) интерпретирую так: "мне проще добавить настройку стилей меню, чем разобраться с мерцанием".

Imho наличие единого менеджера стилей не делает библиотеку костной. Напротив это позволит сделать настройки доступными пользователю по аналогии с настройкой десктопа виды.

Впрочем, хозяин барин. Если кого обидел (замечанием про меню), прошу прощения. Я не обещал лить елей в уши. То, что сделано хорошо вы и сами знаете.


Дата: Авг 20, 2004 04:43:57

„Т.е. переложить ответственность на разработчика использующего XXMenu.dll?“
а как иначе - кто-то реестр не использует принципиально, кто-то ини-файлы не любит, кто-то настройки в xml или своем формате хранит. Библотека должна тупо функционал обеспечивать, не больше.


Дата: Авг 20, 2004 05:02:15

masquer
реестр не использует ..., ини-файлы не любит ... в xml или своем формате хранит
Я и предлагаю не давать повода разработчикам заниматься изобретением велосипедов.

Библотека должна тупо функционал обеспечивать
В чем я противоречу этой аксиоме? Разве плохо, если при создании меню библиотека определит использующую ее программу, обратится в хранилище настроек, и воспользуется информацией от туда? Это не исключает добавление экспортируемых функций по работе с хранилищем, которыми могут воспользоваться программисты, вместо самостоятельного изобретения хранилища.

<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.068