Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как убрать скроллы у MDI-формы
|
|||
|---|---|---|---|
|
#18+
При перемещении дочерних форм у MDI появляются скроллы. Как от них избавиться? Изменение свойств AUTOSCROLL, VISIBLE у скроллов не помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2003, 15:16 |
|
||
|
Как убрать скроллы у MDI-формы
|
|||
|---|---|---|---|
|
#18+
По дефолту - никак .... скролы по автомату появляются кады твои контролы выезжают за форму... поиграй с мессагами к форме PostMessage/SendMessage - далее ковыряй mcdn... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2003, 12:15 |
|
||
|
Как убрать скроллы у MDI-формы
|
|||
|---|---|---|---|
|
#18+
вот что пишет на эту тему Peter Below [TeamB]: Since the scrollbars do not belong to the MDI frame window itself, they belong to the client window, which is not a Delphi form. Which means one has to attack the problem on the API level. Since this question has come up so frequently in recent days i have modified a sample based on the stock MDI project to include this feature. The salient parts are quoted below. Open the main forms unit in the IDE. If you don't have a handler for the OnCreate event, add one. In the handler you do this: Код: plaintext 1. 2. 3. 4. 5. 6. Add a new standalone function to the unit, it has to go above the FormCreate method since it is referenced in the statement above. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. I clipped this code from a larger project, so lets hope i did not create errors in the process. What this code does is to subclass the client window the API way. It stores the old window function into the GWL_USERDATA field of the window structure since it is needed in the replacement window function, all messages need to be passed on to the old window function. There is only one message of interest in this case (the use of a Case results from the larger project, which handles more than this message): WM_NCCALCSIZE. The window gets this message when Windows tries to hide or show the scrollbars, among other cases. And it arrives *before* there is any painting of the scrollbar. So we can check if the window is going to sprout scrollbars and simply remove the scrollbar styles again. For the purists: there is no need to undo the subclassing before the form is destroyed since the client window is destroyed before the form object. Peter Below (TeamB) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2003, 12:21 |
|
||
|
Как убрать скроллы у MDI-формы
|
|||
|---|---|---|---|
|
#18+
Получение ссылки на экземпляр класса ...мне также понадобилось в подпрограмме получить ссылку на дочернее MDI-окно без сообщения подпрограмме с каким конкретно классом MDI необходимо работать. Что я сделал: я передавал в виде параметров тип дочернего MDI-окна и ссылку как нетипизированную переменную и затем обрабатывал это в подпрограмме. Вот пример. Эта подпрограмма работает с дочерним окном, которое может иметь только один экземпляр. Если оно не открыто, подпрограмма создаст его, если оно открыто, оно переместит его на передний план. -------------------------------------------------------------------------------- procedure FormLoader (FormClassType: TFormClass; var FormName); begin if TForm(FormName) = nil then begin Application.CreateForm (FormClassType, FormName); end else begin TForm(FormName).BringToFront; TForm(FormName).WindowState := wsNormal; end; end; Вот как это вызывать: -------------------------------------------------------------------------------- procedure TfrmTest.sbOpenClick(Sender: TObject); begin FormLoader (TfrmTest, frmTest); end; дальшн через wm_xxx делаешь все что надо.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2003, 18:38 |
|
||
|
|

start [/forum/topic.php?fid=58&fpage=2069&tid=2119324]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
70ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
| others: | 10ms |
| total: | 196ms |

| 0 / 0 |
