Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Окна, стиль и положение (число прочтений - 4789 )
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 235
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Окна, стиль и положение
02. Февраля 2019 :: 20:07
Печать  
Что не так?
Если это неисправимый баг, то помогите решить вопрос другими средствами. Модальное окно не катит потому, что не обрабатывает события. Спасибо.

В общем, нужно немодальное окно без рамки с невозможностью интерактивно изменять размеры.

Код
Выбрать все
--
procedure ПослеОткрытия()
	// задаем стиль формы без рамки Windows
	Window = СоздатьОбъект("Окна");
	Window.СтильОкна(Form,1);
	Window.ПоложениеОкна(Form,Form.Parameter.X,Form.Parameter.Y);
	//СобратьМеню();
endprocedure // ПослеОткрытия()
 




ОткрытьФормуМодально("Обработка.КонтекстноеМеню",param):


ОткрытьФорму("Обработка.КонтекстноеМеню",param):

« Последняя редакция: 02. Февраля 2019 :: 23:01 - recop »  
Наверх
 
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 571
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Окна, стиль и положение
Ответ #1 - 03. Февраля 2019 :: 05:44
Печать  
recop писал(а) 02. Февраля 2019 :: 20:07:
В общем, нужно немодальное окно без рамки с невозможностью интерактивно изменять размеры.

Сними с окна флаги WS_THICKFRAME 262144 и WS_BORDER 8388608
Можно еще и WS_DLGFRAME 4194304 снять, но imho с этим флагом лучше выглядит.
Совсем от рамки не получится избавиться, но будет получше и размер не изменить.
  
Наверх
www  
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 235
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Окна, стиль и положение
Ответ #2 - 03. Февраля 2019 :: 06:15
Печать  
[/quote]
Сними с окна флаги WS_THICKFRAME 262144 и WS_BORDER 8388608
Совсем от рамки не получится избавиться, но будет получше и размер не изменить.
[/quote]

Уже думал над этим. Только не пойму как здесь это реализовать
  
Наверх
 
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 571
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Окна, стиль и положение
Ответ #3 - 03. Февраля 2019 :: 06:17
Печать  
РасширениеФормы.ИзменитьСтиль(УдаляемыйСтиль,ДобавляемыйСтиль)
т.е.
РасширениеФормы.ИзменитьСтиль(262144+8388608,0)
  
Наверх
www  
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 235
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Окна, стиль и положение
Ответ #4 - 03. Февраля 2019 :: 06:21
Печать  
А создать модально и выйти из модального режима возможно?
  
Наверх
 
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 571
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Окна, стиль и положение
Ответ #5 - 03. Февраля 2019 :: 06:32
Печать  
Нет, это только при создании формы возможно.

Можно сделать ПсевдоМодально - ПриПотереФокуса взвести Таймер на процедуру НаПереднийПлан, а в процедуре прописать Окна.НаПереднийПлан() и сброс таймера.
Ткнуть кнопку на чужой форме, конечно получится, но хоть что-то.

Атрибуты формы и контролов потыкать можно этим http://www.1cpp.ru/forum/YaBB.pl?num=1345736013/4#4

  
Наверх
www  
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 807
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Окна, стиль и положение
Ответ #6 - 04. Февраля 2019 :: 09:58
Печать  
Ага, или чуть обновлённая здесь: https://github.com/alyuev/1C/blob/master/Slyle_Example%202.ert
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 807
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Окна, стиль и положение
Ответ #7 - 04. Февраля 2019 :: 10:19
Печать  
Еще можно применить расширенный стиль WS_EX_TOOLWINDOW. И запретить закрытие по X. Тогда хотя бы форму можно будет перетаскивать за небольшой заголовок.
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 235
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Окна, стиль и положение
Ответ #8 - 08. Февраля 2019 :: 11:53
Печать  
И всё таки без помощи Альфа (автора сего торжества) никак с места не сдвинуться:

1. Имею координаты атрибута полученные с помощью ПолучитьКоординаты(X,Y,W,H,1) относительно экрана.

2 Пытаюсь по полученным координатам установить форму:
  Окно.ПоложениеОкна(Форма,Форма.Параметр.X,Форма.Параметр.Y);

Оказывается для модальной формы координата Y соответствует заданной концепции, что совсем не распространяется на немодальную форму, в которой отсчет по оси Y идет от верха рабочей зоны окна 1с77. И компенсировать разницу статически не получится, т.к. изменив рядность панели инструментов всё летит к черту.

Какими средствами можно выставить немодальную форму по полученным координатам?

« Последняя редакция: 08. Февраля 2019 :: 17:08 - recop »  
Наверх
 
IP записан
 
Чебур
Senior Member
****
Отсутствует


Ябба!

Сообщений: 314
Местоположение: г.Москва
Зарегистрирован: 14. Августа 2006
Пол: Мужской
Re: Окна, стиль и положение
Ответ #9 - 08. Февраля 2019 :: 23:36
Печать  
Что значит "Модальное окно не катит потому, что не обрабатывает события"...? если речь про ОбработкуВнешнегоСобытия - нормально все ловит (только не надо из одного модального окна открывать другое)
  
Наверх
www  
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 235
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Окна, стиль и положение
Ответ #10 - 09. Февраля 2019 :: 07:19
Печать  
Чебур писал(а) 08. Февраля 2019 :: 23:36:
Что значит "Модальное окно не катит потому, что не обрабатывает события"...? если речь про ОбработкуВнешнегоСобытия - нормально все ловит (только не надо из одного модального окна открывать другое)


Имею ввиду штатные formex, например: ПриДеактивацииОкна().

И, в любом случае, необходимо знать, как можно в 1с установить обычную форму по координатам экрана.

Случай из одного модального окна открывать другое не использовать не получится, т.к. возможно, например, вложенное меню.
  
Наверх
 
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 571
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Окна, стиль и положение
Ответ #11 - 09. Февраля 2019 :: 14:32
Печать  
Там на самом деле еще хуже - у Первой формы могут быть панель настроек и панель закладок. Но если поразмыслить... вычислить координаты все таки можно Подмигивание

Код (C++)
Выбрать все
	Перем ЛевоКнопки,ВерхКнопки,ШиринаКнопки,ВысотаКнопки;
	Перем ШиринаОкна1,ВысотаОкна1;

	РФормы1=СоздатьОбъект("РасширениеФормы");
	РФормы1.УстановитьФорму(Форма);

	ВерхФормы1   = РФормы1.Верх;
	ЛевоФормы1   = РФормы1.Лево;
	ШиринаФормы1 = РФормы1.Ширина;
	ВысотаФормы1 = РФормы1.Высота;

	АтрибутКнопка = РФормы1.ПолучитьАтрибут("Кнопка");
	);

	Окна=СоздатьОбъект("Окна");
	Окна.РазмерОкна(Форма,ШиринаОкна1,ВысотаОкна1);

	ШиринаРамки = (ШиринаОкна1-ШиринаФормы1)/2;
	ВерхФормы2 = ВерхФормы1+(ВысотаОкна1-ВысотаФормы1-ШиринаРамки)+ВерхКнопки+ВысотаКнопки;
	ЛевоФормы2 = ЛевоФормы1+ШиринаРамки+ЛевоКнопки+ШиринаКнопки;

	РФормы2.УстановитьФорму(Форма2);
	РФормы2.Верх=ВерхФормы2;
	РФормы2.Лево=ЛевоФормы2;
 

  
Наверх
www  
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 235
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Окна, стиль и положение
Ответ #12 - 09. Февраля 2019 :: 20:08
Печать  
Djelf Вариант был бы рабочим, если точно знать где поставить

  Окна=СоздатьОбъект("Окна");
  Окна.РазмерОкна(Форма,ШиринаОкна1,ВысотаОкна1);

чтобы форма осталась на месте. Не подскажешь?

---
Для Альфа. Необходимо в документации указать, что класс Окна затачивался ТОЛЬКО под модальные формы. Ведь столько времени отнимает пока поймешь, что не сам напортачил. Или, что будет правильно, доработать этот класс. И ещё на будущее Получить и Установить это самые, что ни на есть, противоположные вещи и сливать их в одну функцию не очень грамотно. А в целом ты молодец, все сидим на твоем расширении позволяющем хоть как-то сгладить топорный функционал 1с77. Спасибо.
  
Наверх
 
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 571
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Окна, стиль и положение
Ответ #13 - 10. Февраля 2019 :: 05:10
Печать  
У тебя Окна еще где-то двигаются. Поищи где.
Или поставь его на место.

Код (C++)
Выбрать все
	РФормы1.ЗапретитьОбновлениеОкна(1);
	Окна=СоздатьОбъект("Окна");
	Окна.РазмерОкна(Форма,ШиринаОкна1,ВысотаОкна1);
	РФормы1.Верх=ВерхФормы1;
	РФормы1.Лево=ЛевоФормы1;
	РФормы1.ЗапретитьОбновлениеОкна(0);
 

  
Наверх
www  
IP записан
 
hogik
YaBB Newbies
*
Отсутствует



Сообщений: 1
Местоположение: Москва
Зарегистрирован: 09. Февраля 2019
Пол: Мужской
Re: Окна, стиль и положение
Ответ #14 - 10. Февраля 2019 :: 12:37
Печать  
recop писал(а) 08. Февраля 2019 :: 11:53:
Оказывается для модальной формы координата Y соответствует заданной концепции,...

Не соответствуют. В модальных окнах можно включить "Панель инструментов". И всё "летит к черту"(с). Подмигивание Координаты экрана можно использовать только для размещения "главного" окна приложения. Всё остальное следует "размещать" в относительных координатах.
  
Наверх
 
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 235
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Окна, стиль и положение
Ответ #15 - 10. Февраля 2019 :: 16:23
Печать  
Djelf писал(а) 10. Февраля 2019 :: 05:10:
У тебя Окна еще где-то двигаются. Поищи где.
Или поставь его на место.


Не не помогает. Нигде справочником не двигаю и при применении Окна.РазмерОкна() измеряемое окно скачет вниз. Как я понимаю кроме измерения функция пытается внести новые размеры окна (в данном случае NULL). Если только Альф не поставил та значения по-умолчанию.

Пока поставил статические корректировки:

ВерхФормы   =  РасшФормы.Верх;
ЛевоФормы   = РасшФормы.Лево;
ШиринаФормы = РасшФормы.Ширина;
ВысотаФормы = РасшФормы.Высота;

param=СоздатьОбъект("Структура");
...
...
param.Вставить("X",ЛевоФормы+10+X);
param.Вставить("Y",ВерхФормы+32+Y+H);
ОткрытьФорму("Обработка.КонтекстноеМеню",param);


hogik писал(а) 10. Февраля 2019 :: 12:37:
Не соответствуют. В модальных окнах можно включить "Панель инструментов". И всё "летит к черту"(с). Подмигивание Координаты экрана можно использовать только для размещения "главного" окна приложения. Всё остальное следует "размещать" в относительных координатах.


Пишу только для себя и в своих формах никогда не применяю ни странную панель инструментов, ни вкладки, топорные, малоинформативные и самое главное имеющие статическое решение.
И вообще если использовать предложенный разработчиками интерфейс 1с77, то возле каждого пользователя необходим "программист" 1с. В общем это и есть формула успеха фирмы 1с.
А иконки просто жесть. А-ля 80-тые.
  
Наверх
 
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 571
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Окна, стиль и положение
Ответ #16 - 11. Февраля 2019 :: 10:05
Печать  
recop писал(а) 10. Февраля 2019 :: 16:23:
Как я понимаю кроме измерения функция пытается внести новые размеры окна (в данном случае NULL). Если только Альф не поставил та значения по-умолчанию.


Аааа.... вот оно что. При нулевых или не числовых значениях РазмерОкна(Форма,Ширина,Высота) размер окна не меняется (rect заполняется старыми значениями) но срабатывает центровка.

Код (C++)
Выбрать все
case methWindowSize:
...
pWnd->MoveWindow(&rect);
if(pWnd->IsKindOf(RUNTIME_CLASS(CGetDlg)))
    pWnd->CenterWindow();
 


  
Наверх
www  
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 235
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Окна, стиль и положение
Ответ #17 - 12. Февраля 2019 :: 05:44
Печать  
Djelf писал(а) 11. Февраля 2019 :: 10:05:
... размер окна не меняется (rect заполняется старыми значениями) но срабатывает центровка.


И на кой?
  
Наверх
 
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 571
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Окна, стиль и положение
Ответ #18 - 12. Февраля 2019 :: 08:43
Печать  
recop писал(а) 12. Февраля 2019 :: 05:44:
Djelf писал(а) 11. Февраля 2019 :: 10:05:
... размер окна не меняется (rect заполняется старыми значениями) но срабатывает центровка.


И на кой?

Вопрос не по адресу Подмигивание

Предполагаю чтобы модальные окна при изменении их размера были по центру.
  
Наверх
www  
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 235
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Окна, стиль и положение
Ответ #19 - 12. Февраля 2019 :: 15:24
Печать  
Djelf писал(а) 12. Февраля 2019 :: 08:43:
Предполагаю чтобы модальные окна при изменении их размера были по центру.


Вот и я о том же. Сиди и додумывай, что еще допом вылезет из примененной функции. И вопрос чисто к Альфу: Зачем они нужны по центру, а не там где должны быть, ЦентрироватьОкно() не работает что-ли? Озадачен
  
Наверх
 
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 571
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Окна, стиль и положение
Ответ #20 - 12. Февраля 2019 :: 15:43
Печать  
Затем что это делалось почти 15 лет назад, и не сильно то и нужно оно тогда было. Кто это проверял и тестировал во всех возможных режимах?
А теперь изменять поведение  процедур и функций 15 летней давности уже нельзя.
Исправить ситуацию все таки можно, добавив аналог ПолучитьКоординаты и УстановитьКоординаты для объекта Окна.
Но для твоих хотелок вообще нужно это все расширять, добавив параметр относительно чего вычисляется лево/верх.
Может тебе проще уже свою ВК замутить? Подмигивание
  
Наверх
www  
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 235
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Окна, стиль и положение
Ответ #21 - 12. Февраля 2019 :: 22:52
Печать  
Djelf писал(а) 12. Февраля 2019 :: 15:43:
... Может тебе проще уже свою ВК замутить? Подмигивание


Из-за двух функций BK мутить? Не силен я в этом уже, да и времени дефицит. Вот если бы иметь исходники, то можно было бы исправлять и дополнять не отрываясь от дел. Только мне все равно не понятно совмещение размера с центровкой. Бред какой-то уже на практике не первый раз сталкиваюсь, что применяя функции класса "Окна" нужно экспериментально тасовать их последовательность, что бы добиться нужного результата. Еще в свое время, когда в далекие 80-е занимался программированием более-менее профессионально (на заре ООП), интересовался чем Си отличается от Паскаля. Так вот, знающий человек объяснил мне что Паскаль это как интеллигентный человек с галстуком, а Си это как шпана оборванная. Мы на Ассемблере боролись за каждый байт пространства и тщательно добивались максимального быстродействия. А что Си-сты, а по фиг отцентрирую, а потом переставлю куда надо...

Спасибо тебе за помощь. Думаю данный вопрос более-менее решен. Допишу класс выложу. Пока откладываю на потом.

Кстати, ненужное центрирование вызывает мелькание формы по предварительным координатам.
« Последняя редакция: 13. Февраля 2019 :: 05:35 - recop »  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1532
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Окна, стиль и положение
Ответ #22 - 13. Февраля 2019 :: 06:23
Печать  
По поводу исходников - нет ничего проще.
Бери на здоровье: https://yadi.sk/d/czJLLuVbglXXRQ
  

FormEx developer
Наверх
www  
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 571
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Окна, стиль и положение
Ответ #23 - 13. Февраля 2019 :: 06:58
Печать  
АЛьФ писал(а) 13. Февраля 2019 :: 06:23:
По поводу исходников - нет ничего проще.
Бери на здоровье: https://yadi.sk/d/czJLLuVbglXXRQ


Ого! оО
Испеклось за 10 минут с учетом перевода на CodeBlock и исправлением каталогов.
А 1с++ так и не удалось приготовить ;(
  
Наверх
www  
IP записан
 
alyuev
God Member
*****
Отсутствует


Гражданин Вселенной

Сообщений: 807
Местоположение: Одесса
Зарегистрирован: 07. Декабря 2007
Пол: Мужской
Re: Окна, стиль и положение
Ответ #24 - 13. Февраля 2019 :: 09:30
Печать  
Может исходники на github выложить?
  

1C 7.7.025; 1C++ 3.2.4.3; Formex 2.0.5.94; 1sqlite
Наверх
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 571
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Окна, стиль и положение
Ответ #25 - 13. Февраля 2019 :: 10:08
Печать  
АЛьФ Вот она ошибочка. Так нормально работает.

Код (C++)
Выбрать все
case methWindowSize:
...
if(pWnd)
{
    RECT rect;
    pWnd->GetWindowRect(&rect);
-    if(pWnd->IsKindOf(RUNTIME_CLASS(CGetDlg)))
-    pMainWindow->ScreenToClient(&rect);
+   CWnd * pParent = pWnd->GetParent();
+   pParent->ScreenToClient(&rect);

    int w = rect.right - rect.left;
    int h = rect.bottom - rect.top;
 

  
Наверх
www  
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 235
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Окна, стиль и положение
Ответ #26 - 14. Февраля 2019 :: 08:21
Печать  
Вот так стимул изучить фигурные скобки и стрелки, которые я всю жизнь избегал! Улыбка Спасибо щедрый Альф.
Только очень прошу ещё подсказать чем эдакое счастье юзать. А то у меня уже была неудачная попытка поработать с исходниками на С++. Оказалось, что нужно было иметь это, то, да ещё вот это, что в конечном итоге Windows 7 уже не кушает. Буду благодарен за ссылочку. Для экспериментов уже психика не та.  Круглые глаза
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1532
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Окна, стиль и положение
Ответ #27 - 14. Февраля 2019 :: 09:55
Печать  
recop писал(а) 14. Февраля 2019 :: 08:21:
Вот так стимул изучить фигурные скобки и стрелки, которые я всю жизнь избегал! Улыбка Спасибо щедрый Альф.
Только очень прошу ещё подсказать чем эдакое счастье юзать. А то у меня уже была неудачная попытка поработать с исходниками на С++. Оказалось, что нужно было иметь это, то, да ещё вот это, что в конечном итоге Windows 7 уже не кушает. Буду благодарен за ссылочку. Для экспериментов уже психика не та.  Круглые глаза


Мммм... По идее надо еще только visual studio 6.0 и пути прописать свои в настройках, но у меня вот она стоит в виртуалке под ХР. Самый простой вариант запуска.
  

FormEx developer
Наверх
www  
IP записан
 
Djelf
God Member
*****
Отсутствует


Ubuntu + wine@etersoft
+ 1C 7.7

Сообщений: 571
Местоположение: Питер
Зарегистрирован: 02. Ноября 2007
Пол: Мужской
Re: Окна, стиль и положение
Ответ #28 - 14. Февраля 2019 :: 14:34
Печать  
АЛьФ писал(а) 14. Февраля 2019 :: 09:55:
Мммм... По идее надо еще только visual studio 6.0 и пути прописать свои в настройках, но у меня вот она стоит в виртуалке под ХР. Самый простой вариант запуска.

Мне пришлось еще PSDK 2003 подключить.
Перестало ругаться "NOTE: WINVER has been defined as 0x0500 or greater which enables..."
И ушла ошибка "FormEx.cpp|245|error C2065: 'TME_NONCLIENT' : undeclared identifier"
  
Наверх
www  
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 235
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Окна, стиль и положение
Ответ #29 - 17. Февраля 2019 :: 21:54
Печать  
Что-то не пойму, Окна.ПоложениеОкна() возвращает координаты относительно рабочей зоны главного окна программы, а устанавливает относительно экрана  Озадачен

Думаю правильно будет если оба действия будут происходить относительно рабочей зоны главного окна программы. Альф, будь добр, очень нужно быстрое решение.

РасширениеФрмы.Лево/Верх - та же самая картина, похоже тема и возникла из-за этой ошибки.

Или ввести дополнительный параметр по образу ПолучитьКоординаты(,,,,0/1).
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1532
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Окна, стиль и положение
Ответ #30 - 18. Февраля 2019 :: 07:27
Печать  
Хм... в методе ПоложениеОкна() вообще никаких пересчетов нет. Напрямую берет и устанавливает координаты. Поэтому должно от одной точки расчета все быть.
  

FormEx developer
Наверх
www  
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 235
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Окна, стиль и положение
Ответ #31 - 18. Февраля 2019 :: 09:22
Печать  
АЛьФ писал(а) 18. Февраля 2019 :: 07:27:
Хм... в методе ПоложениеОкна() вообще никаких пересчетов нет. Напрямую берет и устанавливает координаты. Поэтому должно от одной точки расчета все быть.


Сам удивился. Провел эксперимент. С обычной формой все правильно, используются координаты рабочей зоны основного окна, а модальная и плавающая форма используют экранные координаты.
  
Наверх
 
IP записан
 
recop
Full Member
***
Отсутствует


1C++ rocks!

Сообщений: 235
Местоположение: Калуга
Зарегистрирован: 06. Июня 2017
Пол: Мужской
Re: Окна, стиль и положение
Ответ #32 - 19. Февраля 2019 :: 16:56
Печать  
Альф, ты меня услышал?

Может, все таки, для ПоложениеОкна() добавить дополнительный параметр 0/1 для получения/установки окна координаты рабочей зоны/экранные координаты?
  
Наверх
 
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1532
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Окна, стиль и положение
Ответ #33 - 20. Февраля 2019 :: 07:31
Печать  
recop писал(а) 19. Февраля 2019 :: 16:56:
Альф, ты меня услышал?

Может, все таки, для ПоложениеОкна() добавить дополнительный параметр 0/1 для получения/установки окна координаты рабочей зоны/экранные координаты?


Услышал.
  

FormEx developer
Наверх
www  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать