Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 629 • Страница 17 из 32<  1 ... 14  15  16  17  18  19  20 ... 32  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 12.12.2003
Откуда: Уфа
Daemon
Какие у него отличия? Я использую 4.2.0.



Партнер
 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
kexman восновном куча багфиксов.

_________________
Ку ку


 

Member
Статус: Не в сети
Регистрация: 15.11.2003
Откуда: Moscow\Russia
все глобальные функции и переменные имеют префикс AFX, а кто знает как он расшифровывается?


 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
Цитата:
В библиотеке есть ряд глобальных функций. Все они начинаются с префикса Afx. (Когда MFC только разрабатывалась, то проект назывался AFX, Application Framework. После ряда существенных изменений AFX была переработана в MFC, но прежнее название сохранилось во многих идентификаторах библиотеки и в названиях файлов.) Например, очень часто ...

Взято отсюда


 

Member
Статус: Не в сети
Регистрация: 15.11.2003
Откуда: Moscow\Russia
Спс, сайтик хороший.


 

Member
Статус: Не в сети
Регистрация: 15.11.2003
Откуда: Moscow\Russia
Такая проблема, есть код
Код:
CString name, str;
..............
while(GetStr(str)){
   last->lexem = name.GetLength();
      name += str + '@';
}
..............

допустим цикл выполнялся три раза, и значение str было
str = a345
затем
str = 56
и
str = aи

Ставим брикпойнт после блока while и сморим что содержит name
name = "a345@56@aи" хотя поидее на конце этой строки тоже должна быть собака, те
name = "a345@56@aи@" никак не могу понять почему у меня на конце нет собаки? поможите плз.


 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
M9IC Покажи функцию GetStr(...). У меня вот такой код нормально работает:
Код:
   CString name, str;
   str = "qwe";
   name += str + '@';
   str = "asd";
   name += str + '@';
   str = "zxc";
   name += str + '@';


 

Member
Статус: Не в сети
Регистрация: 15.11.2003
Откуда: Moscow\Russia
вопщем чудеса чето сделал и заработало
хз каким образом не работало хз каким образом заработало


 

Member
Статус: Не в сети
Регистрация: 15.11.2003
Откуда: Moscow\Russia
Создал с помошью визардов диалоговое приложение по имени first
в файле firstDlg.h , там где объявляется класс диалога включил в public некую функцию

CfirstDlg: public CDialog{
....
public:
void myfunc();
}
а в файле firstDlg.cpp написал ее код. Все как положено.

Потом в проект я добавил еше один файл, например, new.cpp. Там пишу код и мне требуется функция myfunc().
Как ее вызвать в этом файле ведь она там (в new.cpp) не видна? Что нужно сделать?


 

Member
Статус: Не в сети
Регистрация: 14.03.2004
Откуда: Москва
M9IC Хеадер включить во втрой фаил

_________________
ФИЗТЕХ- рулез, ФАКИ - сила, Кванты тоже хорошо


 

Member
Статус: Не в сети
Регистрация: 15.11.2003
Откуда: Moscow\Russia
Т.е надо включить firstDlg.h в new.cpp ??? Я так и делаю, но тогда у меня высвечивается ошибка в firstDlg.h в объявлении класса диалога
Код:
class CMyTransDlg : public CDialog
{
// Construction
public:
   CMyTransDlg(CWnd* pParent = NULL);   // standard constructor

// Dialog Data
   enum { IDD = IDD_MYTRANS_DIALOG }; <= Здесь ошибка, IDD_MYTRANS_DIALOG неизвестный идентификатор


 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
M9IC подключи ещё "resource.h" в этот файл.


 

Member
Статус: Не в сети
Регистрация: 15.11.2003
Откуда: Moscow\Russia
Вообщем сделал...спс заработал, но терь другая проблемка в new.cpp, в коде, как нужно правильно вызывать эту функцию?
Пытаюсь вызвать так CfirstDlg::myfunc() - неправильный вызов не статичной функции


 

Member
Статус: Не в сети
Регистрация: 14.03.2004
Откуда: Москва
M9IC Хм. Может лучше почитать книжку по С++
Как ты собрался её вызывать. У кокого объекта? Ей же надо знать this
Добавлено спустя 2 минуты, 5 секунд
Вообще можно попытаться сделать так:
(reinterpret_cast<CMyTransDlg>(0))->myfunc()

_________________
ФИЗТЕХ- рулез, ФАКИ - сила, Кванты тоже хорошо


 

Member
Статус: Не в сети
Регистрация: 15.11.2003
Откуда: Moscow\Russia
я сделал так (CfirstDlg*)AfxGetMainWnd())->myfunc();


 

Member
Статус: Не в сети
Регистрация: 14.03.2004
Откуда: Москва
M9IC Токо вот тебе надо быть увереным в совпдении класов
а лучше писать (dynamic_cast<CfirstDlg*>(AfxGetMainWnd()))->myfunc();

_________________
ФИЗТЕХ- рулез, ФАКИ - сила, Кванты тоже хорошо


 

Member
Статус: Не в сети
Регистрация: 08.07.2006
Откуда: СПБ
Здрасте народ
Помогите такая задачка
Имеется произвольное однооконное MFC приложение
требуеться научить программу сохранять свою рабочую область как рисунок
Добавлено спустя 5 минут, 32 секунды
Ну само собой имееться исходник


 

Member
Статус: Не в сети
Регистрация: 14.03.2004
Откуда: Москва
Char88 Рыть с товрону BitmapDC и bitmap GDI object
как это обернуто в MFC не помню

_________________
ФИЗТЕХ- рулез, ФАКИ - сила, Кванты тоже хорошо


 

Member
Статус: Не в сети
Регистрация: 08.07.2006
Откуда: СПБ
както очень смутно


 

Advanced member
Статус: Не в сети
Регистрация: 09.03.2004
Откуда: Кишинёв
Char88 Вот выдрал из старого проекта кусок:
Код:
BOOL CProgDlg::SaveClientToBMP(const CString& file){
   RECT rect;
   GetClientRect(&rect);
   int width = rect.right, height = rect.bottom;
   int imgSize = width*height*3;

   BITMAPFILEHEADER hBMP;
   hBMP.bfType = 'MB';
   hBMP.bfSize = imgSize + sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);
   hBMP.bfReserved1 = 0;
   hBMP.bfReserved2 = 0;
   hBMP.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);

   BITMAPINFOHEADER iBMP;
   memset(&iBMP,0,sizeof(BITMAPINFOHEADER));
   iBMP.biSize     = sizeof(BITMAPINFOHEADER);
   iBMP.biWidth    = width;
   iBMP.biHeight   = height;
   iBMP.biPlanes   = 1;
   iBMP.biBitCount = 24;
   iBMP.biSizeImage= imgSize;

   BYTE *bits = new BYTE[imgSize];
   int k=0; COLORREF c;
   CClientDC dc(this);
   for(int i=height-1;i>=0;i--)
      for(int j=0;j<width;j++){
         c = dc.GetPixel(j,i);
         bits[k++] = (BYTE)((c>>16) & 0xFF);
         bits[k++] = (BYTE)((c>>8)  & 0xFF);
         bits[k++] = (BYTE)( c      & 0xFF);
      }
   CFile fl;
   if( !fl.Open(file,CFile::modeCreate | CFile::modeWrite) ) return (FALSE);
   fl.Write(&hBMP,sizeof(BITMAPFILEHEADER));
   fl.Write(&iBMP,sizeof(BITMAPINFOHEADER));
   fl.Write(bits,imgSize);
   delete [] bits;
   fl.Close();
   return (TRUE);
}

медленно, но верно :) .


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 629 • Страница 17 из 32<  1 ... 14  15  16  17  18  19  20 ... 32  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan