Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Mouse In Console Application? Как заставить работать? 
:(
    Опции темы
DarkDragon
  Дата 22.12.2006, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GradVin
**


Профиль
Группа: Участник
Сообщений: 296
Регистрация: 19.8.2006

Репутация: нет
Всего: 8



Приветствую!

Вообщем не как немогу понять, как запихать курсор(мышки) в консольное приложение. Как можно узнать что мышка тащится по области консоли, как узнать что была нажата та или иная клавиша мышки, и какие координаты для консоли (row, column)?

Не получается похорошему договориться с проклятым Console smile

Воощем проект на VS2005 C#.
Сразу скажу что курсор в Console.SetCursorPos - это далеко не то. Нужен именно мышечный курсор.

PM MAIL   Вверх
juravel
Дата 22.12.2006, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 18.12.2006

Репутация: нет
Всего: нет



Папробуй:
System.Console.CursorLeft
System.Console.CursorSize
System.Console.CursorTop
System.Console.CursorVisible smile 

Это сообщение отредактировал(а) juravel - 22.12.2006, 19:25
PM MAIL   Вверх
DarkDragon
Дата 22.12.2006, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GradVin
**


Профиль
Группа: Участник
Сообщений: 296
Регистрация: 19.8.2006

Репутация: нет
Всего: 8



juravel, нет это не пойдет smile
Так как это не мышка, а каретка в консоле.

Нужен именно Mouse в Console.
PM MAIL   Вверх
juravel
Дата 22.12.2006, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 32
Регистрация: 18.12.2006

Репутация: нет
Всего: нет



Єсть контроль мишки в
System.Windows.Forms.Control.Mouse...
Но ето в формах smile 
PM MAIL   Вверх
DarkDragon
Дата 23.12.2006, 06:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GradVin
**


Профиль
Группа: Участник
Сообщений: 296
Регистрация: 19.8.2006

Репутация: нет
Всего: 8



Это для определенного контрола, его ни как не встроить в Console. Можно использовать System.Windows.Forms.Cursor класс дающий подробную информацию об указатели мышки. Можно Hook'ингом перехватывать мышку, но я думаю может быть есть какие нибудь другие способы реализации мышки в консольном приложении, тем более что через Hook придется обратно прописывать кучу API ф-ций и констант, что не очень то хотелось бы.

А еще возникли вот такие вопросы: Консоль регистрирует класс формы, т. е. имеет скажем Handle (hWnd)?
Можно ли пристроить ему WndProc?
PM MAIL   Вверх
mr.DUDA
Дата 23.12.2006, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



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


--------------------
user posted image
PM MAIL WWW   Вверх
DarkDragon
Дата 23.12.2006, 23:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GradVin
**


Профиль
Группа: Участник
Сообщений: 296
Регистрация: 19.8.2006

Репутация: нет
Всего: 8



Цитата(mr.DUDA @  23.12.2006,  11:58 Найти цитируемый пост)
Вы бы ещё кнопки там рисовали и клик обрабатывали. 

Между прочим для DOS, Turbo C 3.0 (вместе с редактором), так отрисована и так отделанна, просто супер smile  Я даже под винду её запускаю :he Правда под винду глючит (после запуска программы, все виндоуские проги тормозят, вообщем это распространяется на любые программы, требующие эмуляции DOS'a, наверно памяти жрет немеренно)  smile 

Ну если не кто не подскажет более, менее извращенческих способов реализации данной задачи, то придется все вручную калбасить, что бы кнопки рисовались, клики обрабатывались, ну и палитры бы этак на 256 цветов smile 
PM MAIL   Вверх
Дрон
Дата 24.12.2006, 00:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 24
Всего: 93



Цитата(mr.DUDA @  23.12.2006,  11:58 Найти цитируемый пост)
Ну это уже полный изврат, имхо. Консоль не для этих целей. Вы бы ещё кнопки там рисовали и клик обрабатывали. 

Но ведь Far Manager как-то работает smile


--------------------
Да. Именно так.
PM   Вверх
DarkDragon
Дата 24.12.2006, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GradVin
**


Профиль
Группа: Участник
Сообщений: 296
Регистрация: 19.8.2006

Репутация: нет
Всего: 8



Цитата(Дрон @  24.12.2006,  00:55 Найти цитируемый пост)
Но ведь Far Manager как-то работает smile 

Far Manager скорее всего так и делает, т. е. хоокингом перехватывает все что можно перехватить smile 

Я бы мог все зделать и на Turbo C, или C++, но есть проблемы:
   1. Я проовал DPMI сервис из своего приложения сделать, не получилось (т. к. XP эмулирует DOS, а вот в Windows 95-Me все без проблем).
   2. Пробовал с расширителями DOS, скомпилить, ругается сам компилятор.

Поэтому остается только Windows Console, думаю уже начать делать, вот только за основу возьму не Console Application, с классом Console, а Windows Application, и с нуля закалбасить консоль smile 
PM MAIL   Вверх
ivashkanet
Дата 24.12.2006, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

Репутация: 47
Всего: 149



DarkDragon, а можно узнать что ты задумал?
Революцию в user interface? smile 
PM MAIL WWW ICQ   Вверх
DarkDragon
Дата 25.12.2006, 00:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


GradVin
**


Профиль
Группа: Участник
Сообщений: 296
Регистрация: 19.8.2006

Репутация: нет
Всего: 8



ivashkanet, ну револючию я уже не смогу сделать (совершенна задолго до меня программой Norton Commander под DOS, и Far'ом под Win32), но вот кое что интерестное все же думаю получится  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0539 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.