:: Visual Foxpro, Foxpro for DOS
Как перехватить главное окно в переменную и писать в нём и очищать его?
AdamAry
Автор

Сообщений: 843
Дата регистрации: 14.12.2015
Всем привет.

Как перехватить главное окно (или любое другое окно) в переменную (т.е. хендл) и писать в нём и очищать его?

Нет, есть команда:
CLEAR
и
?var
или
??var
Но как это проделать через хендл?



Исправлено 4 раз(а). Последнее : AdamAry, 06.07.17 11:57
Ratings: 0 negative/0 positive
Re: Как перехватить главное окно в переменную и писать в нём и очищать его?
pasha_usue

Сообщений: 3649
Откуда: Е-бург
Дата регистрации: 06.10.2006
AdamAry
Как перехватить главное окно (или любое другое окно) в переменную (т.е. хендл) и писать в нём и очищать его?

_SCREEN.Cls()
_SCREEN.Print("aaa")
ThisForm.Cls()
ThisForm.Print("aaa")
Ratings: 0 negative/1 positive
Re: Как перехватить главное окно в переменную и писать в нём и очищать его?
AdamAry
Автор

Сообщений: 843
Дата регистрации: 14.12.2015
Благодарю pasha_usue.
Так и хочется сказать "Всё гениальное просто"
_SCREEN.Cls()
_SCREEN.Print("aaa")
ThisForm.Cls()
ThisForm.Print("aaa")

Никогда не использовал Cls.

Ещё хотел бы спросить: а по координатам экрана можно разместить:
1 текст
2 изображение (и как ещё регулировать размер изображения на экране?)



Исправлено 1 раз(а). Последнее : AdamAry, 06.07.17 12:21
Ratings: 0 negative/0 positive
Re: Как перехватить главное окно в переменную и писать в нём и очищать его?
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
AdamAry
Благодарю pasha_usue.
Так и хочется сказать "Всё гениальное просто"
И при чем тут хендл и работа через него?
Цитата:

Никогда не использовал Cls.
Все когда-то бывает в первый раз.
Цитата:

Ещё хотел бы спросить: а по координатам экрана можно разместить:
1 текст
Можно.
Цитата:
2 изображение (и как ещё регулировать размер изображения на экране?)
Можно. В зависимости от способа. Но выяснить способ из полного и ясного описания вопроса невозможно.

------------------
Лень - это неосознанная мудрость.




Исправлено 1 раз(а). Последнее : ssa, 06.07.17 12:26
Ratings: 0 negative/1 positive
Re: Как перехватить главное окно в переменную и писать в нём и очищать его?
AdamAry
Автор

Сообщений: 843
Дата регистрации: 14.12.2015
ssa
И при чем тут хендл и работа через него?
Чтобы не писать каждый раз:
_SCREEN.Cls()
_SCREEN.Print("aaa")
а сделать типа:
var = _SCREEN
var.Cls()
var.Print([Salut.])

AdamAry
Ещё хотел бы спросить: а по координатам экрана можно разместить:
Можно.
Каким образом?
Это сначала из текста надо сделать изображение, а потом вставить или напрямую?

Цитата:
изображение (и как ещё регулировать размер изображения на экране?)
Можно. В зависимости от способа. Но выяснить способ из полного и ясного описания вопроса невозможно.
Скажем за точку отчёта берём нижний левый угол окна, и размещаем по координатам 20, 80 изображение размером 40 на 120 (всё в пикселях)
Ratings: 2 negative/0 positive
Re: Как перехватить главное окно в переменную и писать в нём и очищать его?
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
AdamAry
ssa
И при чем тут хендл и работа через него?
Чтобы не писать каждый раз:
_SCREEN.Cls()
_SCREEN.Print("aaa")
а сделать типа:
var = _SCREEN
var.Cls()
var.Print([Salut.])
1. Еще раз: при чем тут хендл? Где тут хендл?
2. "Ты сам то свой код компилировал?" Что мешает так писать?
Цитата:

AdamAry
Ещё хотел бы спросить: а по координатам экрана можно разместить:
Можно.
Каким образом?
Молча, используя соответствующие средства языка.
Цитата:
Это сначала из текста надо сделать изображение, а потом вставить или напрямую?
М-да... нет слов... Напрямую.
Цитата:

Цитата:
изображение (и как ещё регулировать размер изображения на экране?)
Можно. В зависимости от способа. Но выяснить способ из полного и ясного описания вопроса невозможно.
Скажем за точку отчёта берём нижний левый угол окна,
Не берем. Точка уже есть и она в верхнем левом углу.
Цитата:
и размещаем по координатам 20, 80 изображение размером 40 на 120 (всё в пикселях)
Создаем объект, умеющий показывать изображения (в фоксе это Image) и устанавливаем его свойства в соответствии с описанными условиями.

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/1 positive
Re: Как перехватить главное окно в переменную и писать в нём и очищать его?
vic7tar

Сообщений: 48
Дата регистрации: 27.02.2017
AdamAry
...
Как перехватить главное окно (или любое другое окно) в переменную (т.е. хендл) и писать в нём и очищать его?
...
Самый простой способ - извлечь указатель окна по его названию:
hwnd=FindWindow(0,'Caption окна')
Ratings: 0 negative/1 positive
Re: Как перехватить главное окно в переменную и писать в нём и очищать его?
pasha_usue

Сообщений: 3649
Откуда: Е-бург
Дата регистрации: 06.10.2006
AdamAry
Ещё хотел бы спросить: а по координатам экрана можно разместить:
1 текст
2 изображение (и как ещё регулировать размер изображения на экране?)

Можно. Но тогда Cls() и CLEAR лучше не использовать.
IF TYPE("_SCREEN.lbl1")#"O"
_SCREEN.NewObject("lbl1", "label")
ENDIF
IF TYPE("_SCREEN.Img1")#"O"
_SCREEN.NewObject("Img1", "Image")
ENDIF
WITH _SCREEN.lbl1
.Visible = .T.
.Enabled = .T.
.Caption = "Õåëï"
.Left = 100
.Top = 100
ENDWITH
WITH _SCREEN.Img1
.Visible = .T.
.Enabled = .T.
.Left = 200
.Top = 100
.Width = 100
.Height = 100
.Picture = ADDBS(HOME(2)) + "Tastrade\Bitmaps\splash.bmp"
ENDWITH
Ratings: 0 negative/1 positive
Re: Как перехватить главное окно в переменную и писать в нём и очищать его?
pasha_usue

Сообщений: 3649
Откуда: Е-бург
Дата регистрации: 06.10.2006
vic7tar
AdamAry
...
Как перехватить главное окно (или любое другое окно) в переменную (т.е. хендл) и писать в нём и очищать его?
...
Самый простой способ - извлечь указатель окна по его названию:
hwnd=FindWindow(0,'Caption окна')
Да как-то ThisForm.hWND и _SCREEN.hWND проще, применительно к фоксу. Только в очень редких задачах нужно.
Ratings: 0 negative/1 positive
Re: Как перехватить главное окно в переменную и писать в нём и очищать его?
AdamAry
Автор

Сообщений: 843
Дата регистрации: 14.12.2015
ssa
используя соответствующие средства языка
Нашёл:
_SCREEN.CurrentX = 20
_SCREEN.CurrentY = 80
_SCREEN.Print([Привет.])
_SCREEN.CLS && Сбрасываем текущие координаты, или каким образом сбросить?

Кстати как узнаить где был размещён последний текст или это программно невозможно?
Ratings: 0 negative/0 positive
Re: Как перехватить главное окно в переменную и писать в нём и очищать его?
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
AdamAry
_SCREEN.CLS && Сбрасываем текущие координаты, или каким образом сбросить?[/code]
Зачем их сбрасывать?
Цитата:

Кстати как узнаить где был размещён последний текст или это программно невозможно?
Последний по какому порядку? В коде не видно использованные координаты? Те же _SCREEN.CurrentX = 20 и _SCREEN.CurrentY = 80 ?

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/1 positive
Re: Как перехватить главное окно в переменную и писать в нём и очищать его?
AdamAry
Автор

Сообщений: 843
Дата регистрации: 14.12.2015
Аж дух захватывает. Всё красиво то как. Только вот текст немного перекрыт изображением.
Ratings: 0 negative/0 positive
Re: Как перехватить главное окно в переменную и писать в нём и очищать его?
AdamAry
Автор

Сообщений: 843
Дата регистрации: 14.12.2015
ssa
Зачем их сбрасывать?
Да чтобы не наехать на свой же текст.

Цитата:
Кстати как узнаить где был размещён последний текст или это программно невозможно?
Последний по какому порядку?
По самому последнему порядку.
Цитата:
В коде не видно использованные координаты?
Видно то видно, но вот циклом я проехался и несколько строк добавились, чтобы их не стереть.

Цитата:
Те же _SCREEN.CurrentX = 20 и _SCREEN.CurrentY = 80 ?
Так после цикла текущие координаты то уже будут другие и неизвестно какие.



Исправлено 1 раз(а). Последнее : AdamAry, 06.07.17 13:38
Ratings: 0 negative/0 positive
Re: Как перехватить главное окно в переменную и писать в нём и очищать его?
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
НЕТ никаких текущих координат, есть те координаты, которые заданы программистом. В коде, которые перед его глазами.
А в цикле координаты находятся в каких-то переменных, не так ли? Не умеем смотреть содержимое переменных?


------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/1 positive
Re: Как перехватить главное окно в переменную и писать в нём и очищать его?
AdamAry
Автор

Сообщений: 843
Дата регистрации: 14.12.2015
Спасибо pasha_usue.
pasha_usue
Да как-то ThisForm.hWND и _SCREEN.hWND проще, применительно к фоксу. Только в очень редких задачах нужно.
И как теперь подключаться к hWND и работать с ними?
Ratings: 0 negative/0 positive
Re: Как перехватить главное окно в переменную и писать в нём и очищать его?
ssa

Сообщений: 13007
Откуда: Москва
Дата регистрации: 23.03.2005
AdamAry
Спасибо pasha_usue.
pasha_usue
Да как-то ThisForm.hWND и _SCREEN.hWND проще, применительно к фоксу. Только в очень редких задачах нужно.
И как теперь подключаться к hWND и работать с ними?
ЗАЧЕМ? Что непонятно в словах "Только в очень редких задачах нужно"?

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/1 positive
Re: Как перехватить главное окно в переменную и писать в нём и очищать его?
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
AdamAry
Текущие координаты то уже будут другие и неизвестно какие.
Координаты "рисования на экране" и будут в CurrentX да CurrentY. Эти свойства не только для записи, но и для чтения применимы. Только смысла в этом для вывода текста или тех же картинок нет практически никакого. Это ещё можно приспособить для простейшего "рисования линий и графиков" - но тоже с большими оговорками...

AdamAry
Только вот текст немного перекрыт изображением.
Там для каждого объекта координаты указаны - в чём проблема разместить так как кажется "красивее"?


------------------
WBR, Igor
Ratings: 0 negative/1 positive
Re: Как перехватить главное окно в переменную и писать в нём и очищать его?
AdamAry
Автор

Сообщений: 843
Дата регистрации: 14.12.2015
ssa
НЕТ никаких текущих координат
Запускаем это:
Потом это:

Так вот "es" попадает чуть ниже определённого уровня.
Как узнать куда попало "es"?



Исправлено 1 раз(а). Последнее : AdamAry, 06.07.17 13:50
Ratings: 1 negative/0 positive
Re: Как перехватить главное окно в переменную и писать в нём и очищать его?
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
AdamAry
И как теперь подключаться к hWND и работать с ними?

msdn.microsoft.com

Для вывода текстов
msdn.microsoft.com
и далее
msdn.microsoft.com


------------------
WBR, Igor
Ratings: 0 negative/1 positive
Re: Как перехватить главное окно в переменную и писать в нём и очищать его?
AdamAry
Автор

Сообщений: 843
Дата регистрации: 14.12.2015
Igor Korolyov
Координаты "рисования на экране" и будут в CurrentX да CurrentY. Эти свойства не только для записи, но и для чтения применимы. Только смысла в этом для вывода текста или тех же картинок нет практически никакого. Это ещё можно приспособить для простейшего "рисования линий и графиков" - но тоже с большими оговорками...
OK

Цитата:
Только вот текст немного перекрыт изображением.
Там для каждого объекта координаты указаны - в чём проблема разместить так как кажется "красивее"?
Понял, надо изменить координаты объектов.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 23 (Гостей: 23)

© 2000-2024 Fox Club 
Яндекс.Метрика