powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / ВИД POINTER - УКАЗАТЕЛЯ
25 сообщений из 26, страница 1 из 2
ВИД POINTER - УКАЗАТЕЛЯ
    #33055295
HELP_ME2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VISUAL C++ 6.0

В каталоге “CoolButton” находится 2 файла,

CoolButton.cpp
CoolButton.h

образующий класс

“class CCoolButton : public CButton”

В файле “CoolButton.cpp” стоит строка
Код: plaintext
1.
2.
3.
4.
5.
6.
hHand = AfxGetApp()->LoadCursor(IDC_CURSOR1);  - курсор в виде руки вместо стрелки. Файл курсора “cursor1.cur”
был скопирован в папку “res” ,  затем ИМПОРТИРОВАН в текущее приложение.

HCURSOR hHand; - эта строка стоит в  CoolButton.h

ПОЧЕМУ ИДЕНТИФИКАТОР НЕ ОБЪЯВЛЕН ?
CoolButton\CoolButton.cpp( 20 ) : error C2065: 'IDC_CURSOR1' : undeclared identifier

СПАСИБО.
...
Рейтинг: 0 / 0
ВИД POINTER - УКАЗАТЕЛЯ
    #33055982
НЕУЖТО НИКТО

НЕ ИСПОЛЬЗУЕТ ВМЕСТО СТРЕЛКИ
УКАЗАТЕЛЯ, НАПРИМЕР,

ПЕСОЧНЫЕ ЧАСЫ ИЛИ ЭТУ ЖЕ РУКУ ?

СПАСИБО
...
Рейтинг: 0 / 0
ВИД POINTER - УКАЗАТЕЛЯ
    #33056258
ILLINOICE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ДА , СЛАБОВАТ FORUM !

НЕ МОЖЕТ СТРЕЛКУ ПОМЕНЯТЬ

НА "РУКУ"
...
Рейтинг: 0 / 0
ВИД POINTER - УКАЗАТЕЛЯ
    #33056317
Фотография Lelikk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слабоват не форум, слабоват автор -- надо сделать Rebuild All
________________________________________________________
Глюк - это высокоорганизованная система не поддающихся определению частиц
...
Рейтинг: 0 / 0
ВИД POINTER - УКАЗАТЕЛЯ
    #33056648
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
'IDC_CURSOR1' не объявлен, естественно, потому что ты его не объявил.
...
Рейтинг: 0 / 0
ВИД POINTER - УКАЗАТЕЛЯ
    #33056854
HELP_ME2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторСлабоват не форум, слабоват автор -- надо сделать Rebuild All

АВТОР ТОЛЬКО УЧИТСЯ, ЕСТЕСТВЕННО -
СЛАБОВАТ

REBUILD ALL ДЕЛАЛ

В ПОЖЕРТВОВАННОМ ПРИМЕРЕ, ЕСТЕСТВЕННО,

РАБОТАЕТ,

КАК ЖЕ ЕГО ОБЪЯВИТЬ ?

В ПРИМЕРЕ ТОЛЬКО В 3-х МЕСТАХ ПРИЛОЖЕНИЯ ВСТРЕЧАЕТСЯ
ССЫЛКА НА ЭТОТ ОБЪЕКТ.

ЕСЛИ ИНТЕРЕСНО, ТО МОГУ ВЫСЛАТЬ
ПОЖЕРТВОВАНОЕ ПРИЛОЖЕНИЕ
...
Рейтинг: 0 / 0
ВИД POINTER - УКАЗАТЕЛЯ
    #33057236
roman10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Включите в файл CoolButton.cpp файл Resource.h.
...
Рейтинг: 0 / 0
ВИД POINTER - УКАЗАТЕЛЯ
    #33058157
HELP_ME2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
roman10
БОЛЬШОЕ СПАСИБО,

ОКАЗЫВАЕТСЯ, ЧТО ЕСТЬ ПРОРОКИ
И В РОДНОМ ОТЕЧЕСТВЕ!

Код: plaintext
Включите в файл CoolButton.cpp файл Resource.h.

Я ВКЛЮЧИЛ В ФАЙЛ

stdafx.h
...
Рейтинг: 0 / 0
ВИД POINTER - УКАЗАТЕЛЯ
    #33059175
Alex_VC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HELP_ME2VISUAL C++ 6.0

В каталоге “CoolButton” находится 2 файла,

CoolButton.cpp
CoolButton.h

образующий класс

“class CCoolButton : public CButton”

В файле “CoolButton.cpp” стоит строка
Код: plaintext
1.
2.
3.
4.
5.
6.
hHand = AfxGetApp()->LoadCursor(IDC_CURSOR1);  - курсор в виде руки вместо стрелки. Файл курсора “cursor1.cur”
был скопирован в папку “res” ,  затем ИМПОРТИРОВАН в текущее приложение.

HCURSOR hHand; - эта строка стоит в  CoolButton.h

ПОЧЕМУ ИДЕНТИФИКАТОР НЕ ОБЪЯВЛЕН ?
CoolButton\CoolButton.cpp( 20 ) : error C2065: 'IDC_CURSOR1' : undeclared identifier

СПАСИБО.
Перед #include "CoolButton.h" надо написать #include "resource.h" (есессно, если такой идентификатор ресурса вообще есть)
...
Рейтинг: 0 / 0
ВИД POINTER - УКАЗАТЕЛЯ
    #33059634
РУДЗ_ЬУ2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex_VC

Я СДЕЛАЛ, КАК ПОДСКАЗАЛ

ROMAN10

ОШИБКИ УЖЕ НЕТ, НО

Я ПОКА НЕ МОГУ ПОНЯТЬ
ЧТО ЕЩЁ ИЗ ПОЖЕРТВОВАННОГО ПРИЛОЖЕНИЯ НАДА
ВКЛЮЧИТЬ В СВОЙ ПРОЕКТ, ЧТОБЫ
В МОЁМ ПРОЕКТЕ АНАЛОГИЧНО
ПРИ ПЕРЕМЕЩЕНИИ УКАЗАТЕЛЯ МЫШИ
ЧЕРЕЗ КОМАНДНУЮ КНОПКУ КУРСОР
В ВИДЕ СТРЕЛКИ ПОМЕНЯЛСЯ НА "РУКУ" ,
А ПОСЛЕ ВЫХОДА ИЗ УЧАСТКА, ЗАНИМАЕМОГО
КОМАНДНОЙ КНОПКОЙ, МЕНЯЛ СВОЙ ВИД
НА СТРЕЛКУ.

ЕСЛИ ИНТЕРЕСНО, ТО ВЫСЫЛАЮ
ЭТО ПРИЛОЖЕНИЕ - 42 КБ

спасибо
...
Рейтинг: 0 / 0
ВИД POINTER - УКАЗАТЕЛЯ
    #33060947
Петруша
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В СВОЙСТВАХ
КОМАНДНЫХ КНОПОК
СТОИТ

Owner Draw

если в своём диалоговом окне
включить это свойство,

то при выполнении приложения

КНОПКА НЕ БУДЕТ ВИДНА.

ПОКА НЕ ПОЙМУ КАК ЖЕ АВТОР РЕАЛИЗОВАЛ ПРОБЛЕМУ .
...
Рейтинг: 0 / 0
ВИД POINTER - УКАЗАТЕЛЯ
    #33061467
Alex_VC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сабклассить кнопку надо.
IMHO, кажется так: Делаешь свой класс, производный от CButton, переопределяешь метод OnSetFocus(), в нем загружаешь нужный тебе курсор.
...
Рейтинг: 0 / 0
ВИД POINTER - УКАЗАТЕЛЯ
    #33070771
ПЕТРУША
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex_VC или КТО ЗНАЕТ,
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Если не хлопотно, то подскажите ,
ПОЖАЛУЙСТА,
Как дальше  ( по поводу курсора  - указателя
Мыши при перемещении через поверхность
Командных кнопок)
Я создал новый класс производный от Cbutton

class CCollButton_My : public Cbutton

вставил 

#include "CollButton_My.h"

в класс диалогового окна, содержащего
командные кнопки на своей поверхности,

Для кнопки во вкладке Styles  поставил
птицу  в checkbox “Owner Draw”

НО ВИД КУРСОРА МЫШИ “СТРЕЛКА”
НАПРАВЛЕННАЯ В ЛЕВЙ ВЕРХНИЙ УГОЛ
НЕ ИЗМЕНЯЕТСЯ НА ВИД “РУКА”
СПАСИБО
...
Рейтинг: 0 / 0
ВИД POINTER - УКАЗАТЕЛЯ
    #33071513
Alex_VC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alex_VCСабклассить кнопку надо.
IMHO, кажется так: Делаешь свой класс, производный от CButton, переопределяешь метод OnSetFocus(), в нем загружаешь нужный тебе курсор.
Не OnSetFocus, а OnSetCursor (сорри за очепятку), примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
void CCollButton_My ::InitCursor(int nCursorId )
{
  if (m_hCursor){
	::DestroyCursor(m_hCursor);
	m_hCursor = NULL;
  }
  HINSTANCE	hInst = NULL;
  hInst = AfxFindResourceHandle(MAKEINTRESOURCE(nCursorId), RT_GROUP_CURSOR);
  m_hCursor = (HCURSOR)::LoadImage(hInst, MAKEINTRESOURCE(nCursorId), IMAGE_CURSOR,  0 ,  0 ,  0 );
}

BOOL CCollButton_My ::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) 
{
	if (m_hCursor != NULL){
 	   ::SetCursor(m_hCursor);
		return TRUE;
	} 

	return CButton::OnSetCursor(pWnd, nHitTest, message);
} 
...
Рейтинг: 0 / 0
ВИД POINTER - УКАЗАТЕЛЯ
    #33071831
HELP_ME2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
error C2065: 'm_hCursor' : undeclared identifier
error C2440: '=' : cannot convert from 'struct HICON__ *' to 'int'

СПАСИБО
...
Рейтинг: 0 / 0
ВИД POINTER - УКАЗАТЕЛЯ
    #33073881
Alex_VC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HELP_ME2error C2065: 'm_hCursor' : undeclared identifier
error C2440: '=' : cannot convert from 'struct HICON__ *' to 'int'

СПАСИБО

Ну дык че непонятно: переменные класса надо же объявлять (они от сырости не заведутся сами)...
...
Рейтинг: 0 / 0
ВИД POINTER - УКАЗАТЕЛЯ
    #33074090
HELP_ME2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 В созданный класс

class CCollButton_My : public Cbutton

добавил 

HCURSOR m_hCursor ;

Ошибок нет, но и вид курсора мыши
Не меняется.

Я этого не понимаю,
Поэтому прошу помощи.

Прошу прощения.
...
Рейтинг: 0 / 0
ВИД POINTER - УКАЗАТЕЛЯ
    #33075100
Петя5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
АНЕКДОТ

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Вовочке:  ТЕРПИ , КАЗАК, АТАМАНОМ БУДЕШЬ

Маленькая Леночка перфразировала
по своему пониманию:

    ТЕРПИ, КОЗА, А ТО МАМОЙ БУДЕШЬ.

PS: жди HELP_ME2 , может быть 
и НИКТО НЕ РЕШИТ ПРОБЛЕМУ КУРСОРА МЫШИ
...
Рейтинг: 0 / 0
ВИД POINTER - УКАЗАТЕЛЯ
    #33075873
HELP_ME2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
УКРАИНА ПОЗДРАВЛЯЕТ

ФУТБОЛИСТОВ Московского
ЦСКА С ПОБЕДОЙ!

в УБКЕ УЕФА

МОЛОДЦЫ !
МОЛОДЦЫ !
МОЛОДЦЫ !
...
Рейтинг: 0 / 0
ВИД POINTER - УКАЗАТЕЛЯ
    #33076341
Alex_VC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в Debugger'е m_hCursor!=NULL в методе OnSetCursor ?
...
Рейтинг: 0 / 0
ВИД POINTER - УКАЗАТЕЛЯ
    #33076870
HELP_ME2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex_VC

ВИЖУ ЧТО ВЫ ИСКРЕННЕ
ХОТИТЕ ПОМОЧЬ и НАПРАВИТЬ
НА ИСТИННЫЙ ПУТЬ

Для решения єтой проблемы
я предоставил ПОЖЕРТВОВАНЫЙ ПРИМЕР
из www.codeprojecy.com

print_preview2.zip

Его можно скачать, 43 кб

КОНЕЧНО , ЕСЛИ ВАМ ИНТЕРЕСНО.

ВСЁ ЧТО ВЫ ПРЕДЛАГАЕТЕ, т.е.
производній class CButton там создан,
я, правда, сделал и почти так как ВЫ советовали,

в примере работает, а у меня - НЕ РАБОТАЕТ,
ПОНЯТНО, ЧТО-ТО НЕ ТАК Я ДЕЛАЮ.

Я , ПОНИМАЮ, ВАШЕ ВРЕМЯ ДОРОГО.
ОСТАВЛЯЮ НА ВАШЕ УСМОТРЕНИЕ.

ВСЕГО ХОРОШЕГО В ВАШИХ ДОБРЫХ
И СПРАВЕДЛИВЫХ ДЕЛАХ.
...
Рейтинг: 0 / 0
ВИД POINTER - УКАЗАТЕЛЯ
    #33079622
Alex_VC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так все-таки m_hCursor!=NULL в методе OnSetCursor ?
...
Рейтинг: 0 / 0
ВИД POINTER - УКАЗАТЕЛЯ
    #33079783
HELP_ME2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторТак все-таки m_hCursor!=NULL в методе OnSetCursor ?

ПРИВЕТ,
СПАСИБО, ЧТО ХОЧЕШЬ ДОВЕСТИ ДО КОНЦА ПРОБЛЕМУ

ВЫСЫЛАЮ 2 ФАЙЛА .CPP and .H
образующие класс

CoolButton_my.ZIP

#include "CollButton_My.h" включил в класс диалогового окна,
на котором имеются кнопки
...
Рейтинг: 0 / 0
ВИД POINTER - УКАЗАТЕЛЯ
    #33081756
Alex_VC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подключил твой класс, компилятор выругался на ненайденный файл SeveralViews_MDI_2.h, и на отсутствующий идентификатор IDC_CURSOR3.
После того, как это было отчекрыжено- все заработало: Hand появлялся при наведении мыша на кнопку (При установке свойства Owner Draw при наведении мыши менялся указатель мыши, контуры кнопки прорисовывались, а надпись меняла цвет и была подчеркнута...
Так все-таки m_hCursor!=NULL в методе OnSetCursor ?
Вообще вызываешь инициализацию указателя (InitCursor)?
А саму кнопку-то просабклассил (CCollButton_My m_ctlBtn)?
...
Рейтинг: 0 / 0
ВИД POINTER - УКАЗАТЕЛЯ
    #33082125
HELP_ME2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex_VC, ПРИВЕТ

автор1.Так все-таки m_hCursor!=NULL в методе OnSetCursor ?
2.Вообще вызываешь инициализацию указателя (InitCursor)?
3.А саму кнопку-то просабклассил (CCollButton_My m_ctlBtn)?

ПУНКТЫ 2 и 3 НЕ ВЫПОЛНЯЛ,

НО ДУМАЛ, РАЗ ФУНКЦИЯ
InitCursor
СОЗДАНА, ТО ДОЛЖНА ГДЕ-ТО
ВЫЗЫВАТЬСЯ.

РАЗ У ТЕБЯ РАБОТАЕТ, БУДУ ДОДЕЛЫВАТЬ.

СПАСИБО.
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / ВИД POINTER - УКАЗАТЕЛЯ
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]