![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| DarkDragon |
|
|||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: нет Всего: 8 |
Приветствую!
Вообщем не как немогу понять, как запихать курсор(мышки) в консольное приложение. Как можно узнать что мышка тащится по области консоли, как узнать что была нажата та или иная клавиша мышки, и какие координаты для консоли (row, column)? Не получается похорошему договориться с проклятым Console Воощем проект на VS2005 C#. Сразу скажу что курсор в Console.SetCursorPos - это далеко не то. Нужен именно мышечный курсор. |
|||
|
||||
| juravel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 18.12.2006 Репутация: нет Всего: нет |
Папробуй:
System.Console.CursorLeft System.Console.CursorSize System.Console.CursorTop System.Console.CursorVisible Это сообщение отредактировал(а) juravel - 22.12.2006, 19:25 |
|||
|
||||
| DarkDragon |
|
|||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: нет Всего: 8 |
juravel, нет это не пойдет
Так как это не мышка, а каретка в консоле. Нужен именно Mouse в Console. |
|||
|
||||
| juravel |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 18.12.2006 Репутация: нет Всего: нет |
Єсть контроль мишки в
System.Windows.Forms.Control.Mouse... Но ето в формах |
|||
|
||||
| DarkDragon |
|
|||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: нет Всего: 8 |
Это для определенного контрола, его ни как не встроить в Console. Можно использовать System.Windows.Forms.Cursor класс дающий подробную информацию об указатели мышки. Можно Hook'ингом перехватывать мышку, но я думаю может быть есть какие нибудь другие способы реализации мышки в консольном приложении, тем более что через Hook придется обратно прописывать кучу API ф-ций и констант, что не очень то хотелось бы.
А еще возникли вот такие вопросы: Консоль регистрирует класс формы, т. е. имеет скажем Handle (hWnd)? Можно ли пристроить ему WndProc? |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Ну это уже полный изврат, имхо. Консоль не для этих целей. Вы бы ещё кнопки там рисовали и клик обрабатывали.
-------------------- ![]() |
|||
|
||||
| DarkDragon |
|
|||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: нет Всего: 8 |
Между прочим для DOS, Turbo C 3.0 (вместе с редактором), так отрисована и так отделанна, просто супер Ну если не кто не подскажет более, менее извращенческих способов реализации данной задачи, то придется все вручную калбасить, что бы кнопки рисовались, клики обрабатывались, ну и палитры бы этак на 256 цветов |
|||
|
||||
| Дрон |
|
|||
![]() Java-ненавистник :) ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3179 Регистрация: 29.12.2002 Где: Санкт-Петербург Репутация: 24 Всего: 93 |
Но ведь Far Manager как-то работает -------------------- Да. Именно так. |
|||
|
||||
| DarkDragon |
|
|||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: нет Всего: 8 |
Far Manager скорее всего так и делает, т. е. хоокингом перехватывает все что можно перехватить Я бы мог все зделать и на Turbo C, или C++, но есть проблемы: 1. Я проовал DPMI сервис из своего приложения сделать, не получилось (т. к. XP эмулирует DOS, а вот в Windows 95-Me все без проблем). 2. Пробовал с расширителями DOS, скомпилить, ругается сам компилятор. Поэтому остается только Windows Console, думаю уже начать делать, вот только за основу возьму не Console Application, с классом Console, а Windows Application, и с нуля закалбасить консоль |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
DarkDragon, а можно узнать что ты задумал?
Революцию в user interface? |
|||
|
||||
| DarkDragon |
|
|||
![]() GradVin ![]() ![]() Профиль Группа: Участник Сообщений: 296 Регистрация: 19.8.2006 Репутация: нет Всего: 8 |
ivashkanet, ну револючию я уже не смогу сделать (совершенна задолго до меня программой Norton Commander под DOS, и Far'ом под Win32), но вот кое что интерестное все же думаю получится
|
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |