Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Модератор форума: Peter, DEMBEL, YURIY  
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Команда "SetWindowPos"
Команда "SetWindowPos"
RezzoxeДата: Ср, 13 Мая 2009, 12:08 | Сообщение # 1
вообщем делаю что-то наподобии меню панельки справа,
ну типа как у висты, если курсор не на панельки
то она скрывается и видно от неё только 5 пикселей
от её левой стороны, если на ней то она полностью
появляется с условием впринципе проблем не было:

в объекте Timer присутствует следующий код:

GetMousePos "[X]" "[Y]"
IfEx "[X]<[PubWidth] and [X]>0 and [Y]<[PubHeight] and [Y]>0"
SetWindowPos "???" "200" "200" "200" "200"
Else
SetWindowPos "???" "300" "300" "200" "200"
EndIf

вот только не понимаю что надо писать в том месте где вопросики
что я только не пробовал, получается только если там написан конкретный
путь к моему приложению и он скомпилирован, а вот как сделать
чтобы данная команда понимала что приложение именно это не понимаю!

%)

p.s. на циферки не обращаем внимание они от балды для примера.

Сообщение отредактировано
Омар - Ср, 13 Мая 2009, 12:09
 
Сообщениевообщем делаю что-то наподобии меню панельки справа,
ну типа как у висты, если курсор не на панельки
то она скрывается и видно от неё только 5 пикселей
от её левой стороны, если на ней то она полностью
появляется с условием впринципе проблем не было:

в объекте Timer присутствует следующий код:

GetMousePos "[X]" "[Y]"
IfEx "[X]<[PubWidth] and [X]>0 and [Y]<[PubHeight] and [Y]>0"
SetWindowPos "???" "200" "200" "200" "200"
Else
SetWindowPos "???" "300" "300" "200" "200"
EndIf

вот только не понимаю что надо писать в том месте где вопросики
что я только не пробовал, получается только если там написан конкретный
путь к моему приложению и он скомпилирован, а вот как сделать
чтобы данная команда понимала что приложение именно это не понимаю!

%)

p.s. на циферки не обращаем внимание они от балды для примера.


Автор - Rezzoxe
Дата добавления - 13 Мая 2009 в 12:08
BodiДата: Ср, 13 Мая 2009, 14:08 | Сообщение # 2
Ветеран форума
О, :) я и сам как раз хочу сделать что-то подобное, но пока обдумываю дизайн, никаких идей в голове пока нет.. :(
По делу: все правильно, эта команда и будет работать только тогда, когда ваше приложение скомпилировано, в этом случае вместо вопросиков надо написать путь к самому приложению, можно (и нужно) относительный.
Если вы хотите посмотреть на результат при тесте программы из NB то надо туда написать: название_вашей_программы (test).exe , потому что NB создает экзешник при тесте программы в той же папке где и сам файл проекта с вот таким названием. Только почемуто, к большому удивлению, на эту команду реагирует не главное окно приложения а отладчик... %)


Сообщение отредактировано
Bodi - Ср, 13 Мая 2009, 14:09
 
СообщениеО, :) я и сам как раз хочу сделать что-то подобное, но пока обдумываю дизайн, никаких идей в голове пока нет.. :(
По делу: все правильно, эта команда и будет работать только тогда, когда ваше приложение скомпилировано, в этом случае вместо вопросиков надо написать путь к самому приложению, можно (и нужно) относительный.
Если вы хотите посмотреть на результат при тесте программы из NB то надо туда написать: название_вашей_программы (test).exe , потому что NB создает экзешник при тесте программы в той же папке где и сам файл проекта с вот таким названием. Только почемуто, к большому удивлению, на эту команду реагирует не главное окно приложения а отладчик... %)

Автор - Bodi
Дата добавления - 13 Мая 2009 в 14:08
RezzoxeДата: Чт, 14 Мая 2009, 13:50 | Сообщение # 3
Quote (Bodi)
О, я и сам как раз хочу сделать что-то подобное, но пока обдумываю дизайн, никаких идей в голове пока нет..

Да это я энциклопедию по игре делаю! :)

Quote (Bodi)
По делу: все правильно, эта команда и будет работать только тогда, когда ваше приложение скомпилировано, в этом случае вместо вопросиков надо написать путь к самому приложению, можно (и нужно) относительный.

эммм, а что написать чтобы он хотя бы понимал ну типа не полный путь писать
а например как в MMB что то наподобии srcdir, что то не нашёл просто в
конечном результате проект будет выглядить так:

Главная папка - в ней все файлы (главный exe и проекты nb которые будут
запускать строго через главный exe, их где то ко второй версии будет
штук 20-30) - ну и папки там же вспомогательные ну дизайн допустим
и всё такое.

Добавлено (14 Май 2009, 13:50)
---------------------------------------------
Пардон! Отбой! Допетрил! :)

[PubDir]\1.exe

 
Сообщение
Quote (Bodi)
О, я и сам как раз хочу сделать что-то подобное, но пока обдумываю дизайн, никаких идей в голове пока нет..

Да это я энциклопедию по игре делаю! :)

Quote (Bodi)
По делу: все правильно, эта команда и будет работать только тогда, когда ваше приложение скомпилировано, в этом случае вместо вопросиков надо написать путь к самому приложению, можно (и нужно) относительный.

эммм, а что написать чтобы он хотя бы понимал ну типа не полный путь писать
а например как в MMB что то наподобии srcdir, что то не нашёл просто в
конечном результате проект будет выглядить так:

Главная папка - в ней все файлы (главный exe и проекты nb которые будут
запускать строго через главный exe, их где то ко второй версии будет
штук 20-30) - ну и папки там же вспомогательные ну дизайн допустим
и всё такое.

Добавлено (14 Май 2009, 13:50)
---------------------------------------------
Пардон! Отбой! Допетрил! :)

[PubDir]\1.exe


Автор - Rezzoxe
Дата добавления - 14 Мая 2009 в 13:50
BodiДата: Чт, 14 Мая 2009, 18:09 | Сообщение # 4
Ветеран форума
Quote (Омар)
эммм, а что написать чтобы он хотя бы понимал ну типа не полный путь писать а например как в MMB что то наподобии srcdir

MMB не глядел вообще, так что не могу сравнивать, меня NB устраивает на 100 %.
А вы я гляжу решили посмотреть, как "оно", т.е. neobook :)
Quote (Омар)
[PubDir]\1.exe

Это называться - относительный путь (почитайте справочку), только зачем слэш?

Добавлено (14 Май 2009, 18:09)
---------------------------------------------

Quote (Омар)
Да это я энциклопедию по игре делаю!

Ааа, ясно, ну а я совсем про другое говорил. Это я типа тулбар имел ввиду.


Сообщение отредактировано
Bodi - Чт, 14 Мая 2009, 18:09
 
Сообщение
Quote (Омар)
эммм, а что написать чтобы он хотя бы понимал ну типа не полный путь писать а например как в MMB что то наподобии srcdir

MMB не глядел вообще, так что не могу сравнивать, меня NB устраивает на 100 %.
А вы я гляжу решили посмотреть, как "оно", т.е. neobook :)
Quote (Омар)
[PubDir]\1.exe

Это называться - относительный путь (почитайте справочку), только зачем слэш?

Добавлено (14 Май 2009, 18:09)
---------------------------------------------

Quote (Омар)
Да это я энциклопедию по игре делаю!

Ааа, ясно, ну а я совсем про другое говорил. Это я типа тулбар имел ввиду.

Автор - Bodi
Дата добавления - 14 Мая 2009 в 18:09
RezzoxeДата: Чт, 14 Мая 2009, 19:49 | Сообщение # 5
Quote (Bodi)
А вы я гляжу решили посмотреть, как "оно", т.е. neobook

и с каждым разом удивляюсь, в NB что можно сделать собственными
средствами в MMB приходилось подключать плагины. jokingly

Quote (Bodi)
только зачем слэш?

Главное что работает! :D

Quote (Bodi)
Ааа, ясно, ну а я совсем про другое говорил. Это я типа тулбар имел ввиду.

Ну у меня тоже вроде как тулбара будет вот приведу
цитату из описания к энциклопедии:

При открытии проект изначально будет располагаться в виде панели справа, сверху находятся календарь и часы, чуть ниже найдёт свое место мини-плеер и таймер выполнения задач, ну а в нижнем блоке находится основная часть проекта это меню энциклопедии по разделам при открытии какого-нибудь пункта откроется отдельное окно с информацией, там же находятся уже свои подразделы. Панель при не активности будет скрываться чтобы не мешать пользователю при работе в таких программах как ICQ или Mail Agent.

Сообщение отредактировано
Омар - Чт, 14 Мая 2009, 19:50
 
Сообщение
Quote (Bodi)
А вы я гляжу решили посмотреть, как "оно", т.е. neobook

и с каждым разом удивляюсь, в NB что можно сделать собственными
средствами в MMB приходилось подключать плагины. jokingly

Quote (Bodi)
только зачем слэш?

Главное что работает! :D

Quote (Bodi)
Ааа, ясно, ну а я совсем про другое говорил. Это я типа тулбар имел ввиду.

Ну у меня тоже вроде как тулбара будет вот приведу
цитату из описания к энциклопедии:

При открытии проект изначально будет располагаться в виде панели справа, сверху находятся календарь и часы, чуть ниже найдёт свое место мини-плеер и таймер выполнения задач, ну а в нижнем блоке находится основная часть проекта это меню энциклопедии по разделам при открытии какого-нибудь пункта откроется отдельное окно с информацией, там же находятся уже свои подразделы. Панель при не активности будет скрываться чтобы не мешать пользователю при работе в таких программах как ICQ или Mail Agent.


Автор - Rezzoxe
Дата добавления - 14 Мая 2009 в 19:49
BodiДата: Чт, 14 Мая 2009, 19:58 | Сообщение # 6
Ветеран форума
Quote (Омар)
и с каждым разом удивляюсь, в NB что можно сделать собственными средствами в MMB приходилось подключать плагины.

И наверное наоборот: то что можно сделать в NB только с помощью плагинов или вообще нельзя, в MMB сделать проще простого. :)
Quote (Омар)
сверху находятся календарь

С помощью плагина сделаете? Если так, то предупрежу: стиль календаря менять нельзя! :(
 
Сообщение
Quote (Омар)
и с каждым разом удивляюсь, в NB что можно сделать собственными средствами в MMB приходилось подключать плагины.

И наверное наоборот: то что можно сделать в NB только с помощью плагинов или вообще нельзя, в MMB сделать проще простого. :)
Quote (Омар)
сверху находятся календарь

С помощью плагина сделаете? Если так, то предупрежу: стиль календаря менять нельзя! :(

Автор - Bodi
Дата добавления - 14 Мая 2009 в 19:58
PeterДата: Чт, 14 Мая 2009, 20:05 | Сообщение # 7
Админ NeoBook
Quote (Bodi)
И наверное наоборот: то что можно сделать в NB только с помощью плагинов или вообще нельзя, в MMB сделать проще простого.

:D
:D
:D


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Bodi)
И наверное наоборот: то что можно сделать в NB только с помощью плагинов или вообще нельзя, в MMB сделать проще простого.

:D
:D
:D

Автор - Peter
Дата добавления - 14 Мая 2009 в 20:05
BodiДата: Чт, 14 Мая 2009, 20:06 | Сообщение # 8
Ветеран форума
Peter,
Закон жизни... :)
 
СообщениеPeter,
Закон жизни... :)

Автор - Bodi
Дата добавления - 14 Мая 2009 в 20:06
PeterДата: Чт, 14 Мая 2009, 20:07 | Сообщение # 9
Админ NeoBook
Bodi, как вы думаете, почему NeoBook стОит почти 200 "зеленых", а ММВ только 45?

- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
СообщениеBodi, как вы думаете, почему NeoBook стОит почти 200 "зеленых", а ММВ только 45?

Автор - Peter
Дата добавления - 14 Мая 2009 в 20:07
BodiДата: Чт, 14 Мая 2009, 20:09 | Сообщение # 10
Ветеран форума
Quote (Peter)
как вы думаете, почему NeoBook стОит почти 200 "зеленых", а ММВ только 45?

Только 45 scared ??
Наверно разработчики жадные.... crazy


Сообщение отредактировано
Bodi - Чт, 14 Мая 2009, 20:12
 
Сообщение
Quote (Peter)
как вы думаете, почему NeoBook стОит почти 200 "зеленых", а ММВ только 45?

Только 45 scared ??
Наверно разработчики жадные.... crazy

Автор - Bodi
Дата добавления - 14 Мая 2009 в 20:09
PeterДата: Чт, 14 Мая 2009, 20:09 | Сообщение # 11
Админ NeoBook
Quote (Bodi)
Закон жизни...

:D
Попробуйте ММВ!...


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Bodi)
Закон жизни...

:D
Попробуйте ММВ!...

Автор - Peter
Дата добавления - 14 Мая 2009 в 20:09
BodiДата: Чт, 14 Мая 2009, 20:11 | Сообщение # 12
Ветеран форума
Peter, Вы считаете что MMB далеко до Neobook?
 
СообщениеPeter, Вы считаете что MMB далеко до Neobook?

Автор - Bodi
Дата добавления - 14 Мая 2009 в 20:11
PeterДата: Чт, 14 Мая 2009, 20:13 | Сообщение # 13
Админ NeoBook
Quote (Bodi)
Наверно разработчики жадные....

Bodi, запомните: каждая вещь стОит не столько, сколько за неё просят, а столько, сколько за неё ГОТОВЫ ЗАПЛАТИТЬ!!!

Повторяю: ПОПРОБУТЕ ММВ САМИ!
:D

Дискуссия по этому вопросу ЗАКОНЧЕНА!


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Bodi)
Наверно разработчики жадные....

Bodi, запомните: каждая вещь стОит не столько, сколько за неё просят, а столько, сколько за неё ГОТОВЫ ЗАПЛАТИТЬ!!!

Повторяю: ПОПРОБУТЕ ММВ САМИ!
:D

Дискуссия по этому вопросу ЗАКОНЧЕНА!


Автор - Peter
Дата добавления - 14 Мая 2009 в 20:13
RezzoxeДата: Чт, 14 Мая 2009, 20:16 | Сообщение # 14
Quote (Bodi)
стиль календаря менять нельзя!

Значить будем иммитировать crazy

 
Сообщение
Quote (Bodi)
стиль календаря менять нельзя!

Значить будем иммитировать crazy


Автор - Rezzoxe
Дата добавления - 14 Мая 2009 в 20:16
BodiДата: Чт, 14 Мая 2009, 20:18 | Сообщение # 15
Ветеран форума
Quote (Омар)
Значить будем иммитировать

Если получиться, скините мне примерчик :)
Quote (Peter)
Дискуссия по этому вопросу ЗАКОНЧЕНА!

Не буду настаивать.
 
Сообщение
Quote (Омар)
Значить будем иммитировать

Если получиться, скините мне примерчик :)
Quote (Peter)
Дискуссия по этому вопросу ЗАКОНЧЕНА!

Не буду настаивать.

Автор - Bodi
Дата добавления - 14 Мая 2009 в 20:18
СергейДата: Пт, 15 Мая 2009, 20:04 | Сообщение # 16
Необукер
Что то я немогу второй день зайти нормально на форум :(
Quote (Омар)
SetWindowPos "???" "300" "300" "200" "200"

Quote (Омар)
вот только не понимаю что надо писать в том месте где вопросики

Run "c:\windows\notepad.exe" "" "Normal+RunOnce" "" "[AppId]"
SetWindowPos "[AppId]" "200" "200" "200" "200"

ID приложения
как вариант

Сообщение отредактировано
sp3d - Пт, 15 Мая 2009, 20:13
 
СообщениеЧто то я немогу второй день зайти нормально на форум :(
Quote (Омар)
SetWindowPos "???" "300" "300" "200" "200"

Quote (Омар)
вот только не понимаю что надо писать в том месте где вопросики

Run "c:\windows\notepad.exe" "" "Normal+RunOnce" "" "[AppId]"
SetWindowPos "[AppId]" "200" "200" "200" "200"

ID приложения
как вариант


Автор - Сергей
Дата добавления - 15 Мая 2009 в 20:04
RezzoxeДата: Пт, 15 Мая 2009, 20:52 | Сообщение # 17
sp3d, я извиняюсь, но Вы помоему прочитали лишь первые два сообщения
в этой теме, вроде как разобрался я, но всё равно спасибо, как говорится
лучше поздно чем никогда! ;)

[PubDir]\1.exe

вот поставил это вместо вопросиков и всё работает, зачем что то мудрить

 
Сообщениеsp3d, я извиняюсь, но Вы помоему прочитали лишь первые два сообщения
в этой теме, вроде как разобрался я, но всё равно спасибо, как говорится
лучше поздно чем никогда! ;)

[PubDir]\1.exe

вот поставил это вместо вопросиков и всё работает, зачем что то мудрить


Автор - Rezzoxe
Дата добавления - 15 Мая 2009 в 20:52
PeterДата: Сб, 16 Мая 2009, 00:01 | Сообщение # 18
Админ NeoBook
Quote (Bodi)
По делу: все правильно,

Если "по делу", то в NeoBook для определения и изменения размеров и положения главного окна проекта применяются совсем другие, более разумные, методы!

Сервер глючит БЕЗОБРАЗНО! >(
Никуда не попасть!


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Bodi)
По делу: все правильно,

Если "по делу", то в NeoBook для определения и изменения размеров и положения главного окна проекта применяются совсем другие, более разумные, методы!

Сервер глючит БЕЗОБРАЗНО! >(
Никуда не попасть!


Автор - Peter
Дата добавления - 16 Мая 2009 в 00:01
RezzoxeДата: Сб, 16 Мая 2009, 02:30 | Сообщение # 19
Peter, не поделишься информацией? redface
 
СообщениеPeter, не поделишься информацией? redface

Автор - Rezzoxe
Дата добавления - 16 Мая 2009 в 02:30
PeterДата: Сб, 16 Мая 2009, 03:17 | Сообщение # 20
Админ NeoBook
Команда SetWindowPos предназначена для управления окнами других приложений.
Для получения информации и управления собственным окном проекта существуют специальные глобальные переменные чтения и чтения-записи.
Всё это есть в справочном файле.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
СообщениеКоманда SetWindowPos предназначена для управления окнами других приложений.
Для получения информации и управления собственным окном проекта существуют специальные глобальные переменные чтения и чтения-записи.
Всё это есть в справочном файле.

Автор - Peter
Дата добавления - 16 Мая 2009 в 03:17
RezzoxeДата: Сб, 16 Мая 2009, 03:27 | Сообщение # 21
Peter, спасибо за подсказку, yes до твоего сообщения уже нашёл
все необходимые переменные, ща чуток помучаюсь и выложу примерчик! :)
 
СообщениеPeter, спасибо за подсказку, yes до твоего сообщения уже нашёл
все необходимые переменные, ща чуток помучаюсь и выложу примерчик! :)

Автор - Rezzoxe
Дата добавления - 16 Мая 2009 в 03:27
RezzoxeДата: Сб, 16 Мая 2009, 04:27 | Сообщение # 22
Я мягко говоря с каждым разом фигею с какой лёгкостью оказывается
можно работать в NeoBook!!!

Немного повозившись и вспомнив математику второго класса crazy
всё получилось так как я и хотел!

Собственно сам код в объекте таймер:

GetMousePos "[X]" "[Y]"
IfEx "[X]<[PubWidth] and [X]>0 and [Y]<[PubHeight] and [Y]>0"
Math "[ScreenWidth]-[PubWidth]" "0" "[WindowLeft]"
Math "([ScreenHeight]/2)-300" "0" "[WindowTop]"
Else
Math "[ScreenWidth]-10" "0" "[WindowLeft]"
EndIf

Разберём код:

1. Передаём позицию мыши по горизонтали и по вертикали в переменные [X] и [Y]
2. Тут условие, если курсор не находится в пределах окна нашего проекта, то
3. Выполняется мат. функция: от ширины экрана вычитаем ширину нашего окна,
после чего передаём результат в переменную [WindowLeft], которая собственно
и перемещает наше окно строго вправо до предела.
4. Здесь немного другая ситуация так как требовалось чтобы окно находилось
строго по центру относительно высоты экрана, то тут вычисляем по следующей
формуле: высоту экрана делим на 2, и после этого вычитаем половину размера
от высоты нашего окна, (благодаря этому при любом разрешение проект будет
находится строго по центру относительно высоты экрана) передаём результат
в переменную [WindowTop].
5. В противном случае (если курсор мыши в пределах окна проекта)
6. Выполняется мат. функция: от ширины экрана вычитается 10 пикселей,
и передаётся в переменную [WindowLeft], благодаря которой мы можем
наблюдать кусочек окна, это необходимо для повторного появления всей
области окна путём наведения курсора мыши на этот "кусочек"
7. фсё!

write

Прикрепления: Panel.pub (4.0 Kb)


Сообщение отредактировано
Омар - Сб, 16 Мая 2009, 06:03
 
СообщениеЯ мягко говоря с каждым разом фигею с какой лёгкостью оказывается
можно работать в NeoBook!!!

Немного повозившись и вспомнив математику второго класса crazy
всё получилось так как я и хотел!

Собственно сам код в объекте таймер:

GetMousePos "[X]" "[Y]"
IfEx "[X]<[PubWidth] and [X]>0 and [Y]<[PubHeight] and [Y]>0"
Math "[ScreenWidth]-[PubWidth]" "0" "[WindowLeft]"
Math "([ScreenHeight]/2)-300" "0" "[WindowTop]"
Else
Math "[ScreenWidth]-10" "0" "[WindowLeft]"
EndIf

Разберём код:

1. Передаём позицию мыши по горизонтали и по вертикали в переменные [X] и [Y]
2. Тут условие, если курсор не находится в пределах окна нашего проекта, то
3. Выполняется мат. функция: от ширины экрана вычитаем ширину нашего окна,
после чего передаём результат в переменную [WindowLeft], которая собственно
и перемещает наше окно строго вправо до предела.
4. Здесь немного другая ситуация так как требовалось чтобы окно находилось
строго по центру относительно высоты экрана, то тут вычисляем по следующей
формуле: высоту экрана делим на 2, и после этого вычитаем половину размера
от высоты нашего окна, (благодаря этому при любом разрешение проект будет
находится строго по центру относительно высоты экрана) передаём результат
в переменную [WindowTop].
5. В противном случае (если курсор мыши в пределах окна проекта)
6. Выполняется мат. функция: от ширины экрана вычитается 10 пикселей,
и передаётся в переменную [WindowLeft], благодаря которой мы можем
наблюдать кусочек окна, это необходимо для повторного появления всей
области окна путём наведения курсора мыши на этот "кусочек"
7. фсё!

write


Автор - Rezzoxe
Дата добавления - 16 Мая 2009 в 04:27
СергейДата: Сб, 16 Мая 2009, 07:34 | Сообщение # 23
Необукер
Quote (Омар)
sp3d, я извиняюсь, но Вы помоему прочитали лишь первые два сообщения в этой теме, вроде как разобрался я, но всё равно спасибо, как говорится лучше поздно чем никогда!

да прочитал я об этом варианте, Но вопрос озвучивался о SetWindowPos и что прописать в (SetWindowPos "ХХХХ" "" "" "" "")
поэтому я и написал 2 вариант, для SetWindowPos. Может у кого то возникнит такой же вопрос


Сообщение отредактировано
sp3d - Сб, 16 Мая 2009, 07:44
 
Сообщение
Quote (Омар)
sp3d, я извиняюсь, но Вы помоему прочитали лишь первые два сообщения в этой теме, вроде как разобрался я, но всё равно спасибо, как говорится лучше поздно чем никогда!

да прочитал я об этом варианте, Но вопрос озвучивался о SetWindowPos и что прописать в (SetWindowPos "ХХХХ" "" "" "" "")
поэтому я и написал 2 вариант, для SetWindowPos. Может у кого то возникнит такой же вопрос

Автор - Сергей
Дата добавления - 16 Мая 2009 в 07:34
RezzoxeДата: Сб, 16 Мая 2009, 08:36 | Сообщение # 24
sp3d, понятно :) , а что скажешь о варианте указанном в 22 посте?
 
Сообщениеsp3d, понятно :) , а что скажешь о варианте указанном в 22 посте?

Автор - Rezzoxe
Дата добавления - 16 Мая 2009 в 08:36
BodiДата: Сб, 16 Мая 2009, 15:13 | Сообщение # 25
Ветеран форума
Омар, Я немного доработал ваш примерчик, взгляните...
Если что не понравится, там уж сами исправите...
Quote (Омар)
Я мягко говоря с каждым разом фигею с какой лёгкостью оказывается можно работать в NeoBook!!!

А я всегда фигею когда работаю в NB, и мне это нравится, фигеть... :D
PS если что в коде будет не понятно, спрашивайте...
Прикрепления: Panel_2.pub (4.2 Kb)
 
СообщениеОмар, Я немного доработал ваш примерчик, взгляните...
Если что не понравится, там уж сами исправите...
Quote (Омар)
Я мягко говоря с каждым разом фигею с какой лёгкостью оказывается можно работать в NeoBook!!!

А я всегда фигею когда работаю в NB, и мне это нравится, фигеть... :D
PS если что в коде будет не понятно, спрашивайте...

Автор - Bodi
Дата добавления - 16 Мая 2009 в 15:13
RezzoxeДата: Сб, 16 Мая 2009, 18:39 | Сообщение # 26
Bodi, темка с выездом прикольная, но это больше для красоты,
но всё равно не могли бы вы дать комментарии к каждой строчке, а то
не совсем понятно, например скорость выезда.
 
СообщениеBodi, темка с выездом прикольная, но это больше для красоты,
но всё равно не могли бы вы дать комментарии к каждой строчке, а то
не совсем понятно, например скорость выезда.

Автор - Rezzoxe
Дата добавления - 16 Мая 2009 в 18:39
BodiДата: Сб, 16 Мая 2009, 18:45 | Сообщение # 27
Ветеран форума
Quote (Омар)
не совсем понятно, например скорость выезда.

В том то и дело что скорость выезда в моем примере регулировать нельзя, хотя есть одна мысля: можно использовать задержку в коде (Delay ""), или использовать другой цикл.
Попозже выложу пример с коментами...
 
Сообщение
Quote (Омар)
не совсем понятно, например скорость выезда.

В том то и дело что скорость выезда в моем примере регулировать нельзя, хотя есть одна мысля: можно использовать задержку в коде (Delay ""), или использовать другой цикл.
Попозже выложу пример с коментами...

Автор - Bodi
Дата добавления - 16 Мая 2009 в 18:45
BodiДата: Сб, 16 Мая 2009, 19:35 | Сообщение # 28
Ветеран форума
Вот пример с коментами как обещал, но там все слишком кратко, попробую объяснить поподробней:
Главная непонятка в коде - это переменная i и условие с ней.
Она служит для одноразового выполнения цикла loop, дело в том, что когда курсор находится в окне приложения выполняется цикл, а так как сам код находится в объекте "таймер", то он выполняется каждую секунду, следовательно, пока курсор будет находится в окне, оно будет раз за разом "выезжать". Чтобы более точно понять смысл всей чепухи что я тут наговорил, уберите условие If "[i]" "=" "1" и ПЕРВЫЙ EndIf.
Прикрепления: 0240289.pub (4.5 Kb)
 
СообщениеВот пример с коментами как обещал, но там все слишком кратко, попробую объяснить поподробней:
Главная непонятка в коде - это переменная i и условие с ней.
Она служит для одноразового выполнения цикла loop, дело в том, что когда курсор находится в окне приложения выполняется цикл, а так как сам код находится в объекте "таймер", то он выполняется каждую секунду, следовательно, пока курсор будет находится в окне, оно будет раз за разом "выезжать". Чтобы более точно понять смысл всей чепухи что я тут наговорил, уберите условие If "[i]" "=" "1" и ПЕРВЫЙ EndIf.

Автор - Bodi
Дата добавления - 16 Мая 2009 в 19:35
RezzoxeДата: Сб, 16 Мая 2009, 19:50 | Сообщение # 29
Bodi, это всё понятно просто там будет находится такой контент,
что не рекомендуется плавный выезд или въезд!

pardon

 
СообщениеBodi, это всё понятно просто там будет находится такой контент,
что не рекомендуется плавный выезд или въезд!

pardon


Автор - Rezzoxe
Дата добавления - 16 Мая 2009 в 19:50
BodiДата: Сб, 16 Мая 2009, 20:17 | Сообщение # 30
Ветеран форума
Вы считаете что будет тормозить? Ну как все сделаете, так проверете...
А вообще я бы вам посоветовал вставить этот код не в таймер, а например в объект "Рисунок" растянутый на все окно приложения на вкладку "Mouse Enter", и немного изменить сам код (вообще убрать условие), в этом случае окно будет выезжать только тогда, когда курсор конкретно над ним, а не всегда когда он справа.
 
СообщениеВы считаете что будет тормозить? Ну как все сделаете, так проверете...
А вообще я бы вам посоветовал вставить этот код не в таймер, а например в объект "Рисунок" растянутый на все окно приложения на вкладку "Mouse Enter", и немного изменить сам код (вообще убрать условие), в этом случае окно будет выезжать только тогда, когда курсор конкретно над ним, а не всегда когда он справа.

Автор - Bodi
Дата добавления - 16 Мая 2009 в 20:17
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Команда "SetWindowPos"
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск: