Перейти к содержимому

Фотография

Вопрос - ОтветЗадал вопрос - получил ответ...


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 764

#201
Syrymzhan

Syrymzhan
  • Свой человек
  • 721 сообщений
как в Microsoft Visual C++ в диалоговом окне написать текст? КАк в ListBox текст вписать?
  • 0

#202
Visual1

Visual1
  • В доску свой
  • 1 198 сообщений
Для Syrymzhan:

В Microsoft Visual C++ 6.0 это делается следующим образом. В панели инструментов Controls выберите Static Text, в режиме редактирования на своем диалоговом окне нарисуйте рамочку подходящих размеров, чтобы разместился ваш текст. По умолчанию в рамке будет текст "Static", но его можно изменить, открыв окно свойств этой рамки и изменив значение "Static" у свойства Caption на другой текст.

ListBox рисуется на диалоговом окне аналогично. Если бы это был комбинированный список (ComboBox), то можно было бы уже на стадии дизайна легко заполнить его значениями (элементами списка), которые затем будет выбирать пользователь. С Listbox'ом придется делать это программно, после того, как будет создан ресурс диалогового окна, и соответствующий ему класс диалогового окна (см. ниже) .

Чтобы создать класс диалогового окна (назовем его, допустим, CMyDialog), воспользуйтесь Class Wizard из меню View. В качестве базового класса для CMyDialog выберите CDialog. После того, как класс CMyDialog будет создан, на экране появится диалоговое окно MFC Class Wizard. В этом окне перейдите на вкладку Member Variables. Вам надо сопоставить переменные - члены класса каждому элементу управления в созданном ресурсе. Например, если в ресурсе диалогового окна ваш список ListBox имеет идентификатор IDC_LIST1, то добавьте в класс CMyDialog соответствующую этому идентификатору переменную (назовем ее m_strListBox), у которой будет тип CString.

Заполнять ListBox элементами списка лучше всего при инициализации диалогового окна (то есть, при обработке сообщения WM_INITDIALOG). Для этого нужно переопределить функцию CDialog::OnInitDialog. Отредактируйте код, сгенерированный Class Wizard'ом, таким образом:
BOOL MyDialog::OnInitDialog()
{
   CListBox* pLB = (CListBox*) GetDlgItem(IDC_LIST1);
   //Вставка элементов списка. 
   //Вместо Item1, Item2, ... ItemN вставьте нужные вам строки
   pLB->InsertString(-1, "Item1");
   pLB->InsertString(-1, "Item2");
   pLB->InsertString(-1, "Item3");
   //...
   pLB->InsertString(-1, "ItemN");
   return CDialog::OnInitDialog();
}
При желании, можно и для комбинированного списка пользоваться такой же процедурой программной вставки элементов списка, вместо их инициализации в ресурсе.

Сообщение отредактировал Visual1: 03.12.2007, 21:12:15

  • 0

#203
qashqai

qashqai
  • В доску свой
  • 1 699 сообщений
В Excel-е требуется вести некоторую базу через форму с полями. Форма разработана элементами управления в VBA. В одно из текстовых полей формы необходимо вставлять более одного скрин-шота. Textbox для таких целей не подходит. Кто-нить подскажет какой можно компонент (типа RichBox) использовать для этой формы в VBA и если можно пример обращения с этим компонентом.
Спасибо.
  • 0

#204
Иксилимьюз

Иксилимьюз
  • Свой человек
  • 966 сообщений
Доброго времени суток, уважаемые программисты.
Появилась необходимость формировать в дельфи письма, есть два варината. Либо формировать письмо и напряму передвать его в OutLook, либо создавать Word документы по имеющимся шаблонам и затем эти документы автоматом передавать в ОутЛук и отсылать по нужным адресам. Судя по всему придётся работать с компонентами находящимися на закладке Server, но я пока не представляю с какой стороны к ним подойти. Подскажите пожалуйста где можно найти примеров на эту тему, или ещё лучше хороший мануал по данным компонентам. Зарание благодарю.
  • 0

#205
Tootsy

Tootsy
  • Постоялец
  • 359 сообщений

Доброго времени суток, уважаемые программисты.
Появилась необходимость формировать в дельфи письма, есть два варината. Либо формировать письмо и напряму передвать его в OutLook, либо создавать Word документы по имеющимся шаблонам и затем эти документы автоматом передавать в ОутЛук и отсылать по нужным адресам.

Могу посоветовать использовать компонент SMTP, если у вас Delphi 6, то он находится на вкладке FastNet, если Delphi 7, то этот компонент называется idSMTP и находится на вкладке Indy Clients. Вот небольшие примеры по использованию этого компонента:

http://www.interface....asp?artId=2722
http://svdpro.info/page.php?id=32
  • 0

#206
Иксилимьюз

Иксилимьюз
  • Свой человек
  • 966 сообщений


Доброго времени суток, уважаемые программисты.
Появилась необходимость формировать в дельфи письма, есть два варината. Либо формировать письмо и напряму передвать его в OutLook, либо создавать Word документы по имеющимся шаблонам и затем эти документы автоматом передавать в ОутЛук и отсылать по нужным адресам.

Могу посоветовать использовать компонент SMTP, если у вас Delphi 6, то он находится на вкладке FastNet, если Delphi 7, то этот компонент называется idSMTP и находится на вкладке Indy Clients. Вот небольшие примеры по использованию этого компонента:

http://www.interface....asp?artId=2722
http://svdpro.info/page.php?id=32


Большое спасибО! Сейчас посмотрю примерчики)
  • 0

#207
Visual1

Visual1
  • В доску свой
  • 1 198 сообщений

В Excel-е требуется вести некоторую базу через форму с полями. Форма разработана элементами управления в VBA. В одно из текстовых полей формы необходимо вставлять более одного скрин-шота. Textbox для таких целей не подходит. Кто-нить подскажет какой можно компонент (типа RichBox) использовать для этой формы в VBA и если можно пример обращения с этим компонентом.
Спасибо.

"Скрин-шот" означает "графический снимок экрана" (Screen shot), то есть, вы хотите хранить в ячейках таблицы графические изображения. В Excel можно вставлять картинки, но они не хранятся в ячейках таблицы. Значит, к ним нельзя будет обращаться по адресу ячейки. К тому же в Excel нет такого элемента управления для форм, в который можно было бы вводить картинки, подобно тому как в TextBox вводится текст.

Зато все это можно легко сделать в СУБД Access. Каждая запись таблицы может иметь поле не только традиционного типа (текст, число), но и типа OLE Object. А для ввода таких объектов через пользовательскую форму есть элемент управления Bound Image Control. Для СУБД MS Access 2003 имеется хорошая статья на эту тему: см. здесь.
  • 0

#208
Kerberos

Kerberos
  • Постоялец
  • 334 сообщений
Использую для генерации отчетов FastReport 3.2.

Задача: при генерации отчета, показать их юзеру, после того как он посмотрит сгенеренный отчет, сохранить его в архив(т.е. файл куда-нибудь) + написать софтину просмотра данного сгенеренного отчета.

Проблема №1. frReport->SaveToFile('filename.fr3') - видимо сохраняет сам шаблон отчета, а не сгенеренные данные. как выгрузить в файл именно сгенеренные данные, а не сам шаблон??
  • 0

#209
Vaio

Vaio
  • В доску свой
  • 3 177 сообщений
2Kerberos
Привет, как дела, куда пропал?
Могу сказать - самый идеальный отчёт для юзера - Excel. Выгружай в него и пусть юзер сам думает - где и как его хранить.

Сообщение отредактировал Vaio: 08.12.2007, 00:56:57

  • 0

#210
Delight

Delight

    я снова здесь.. здесь все так изменилось

  • В доску свой
  • 2 163 сообщений
Какое событие в компоненте WebBrowser (Delph) чувствительно к изменению содержимого?

Надо сделать так чтобы при загрузке кнопки "вперед" "назад" по хисторилист были не доступны, а када внутри содержимого перейдешь по ссылке, то кнопка "назад" стала активной, например.
Не знаю какое событие отвечает за проверку на изменение содержимого (OnChange нету) и проверку насколько глубок хистори лист.

Памагите пожалуйста!
  • 0

#211
Котоваси

Котоваси
  • Гость
  • 19 сообщений

Подскажите, пожалуйста, где можно скачать бесплатно Бейсик?
Не Visual! А самый простой Бейсик.

Или кто-нибудь знает, можно ли установить в Visual Бейсик функции, чтобы он работал, как обычный Бейсик? Как это сделать?

Заранее спасибо.



Где-то у меня завалялся обычный компилятор Бейсик, и интерпретатор Бейсик. Но они под ДОС. Если устраивает, пишите.

Сообщение отредактировал Котоваси: 20.12.2007, 20:16:06

  • 0

#212
EEE

EEE
  • Частый гость
  • 69 сообщений
Очень нужно в Excel написать код макроса для выделения Select-ом большого количества строк (около 20000). Есть метод Union(Rows(19082), Rows(19084)).Select, который выделяет конкретно указанные строки, но как выделить 20000 строк, если номера их известны?
Подскажите, пожалуйста, если знаете.
  • 0

#213
Иксилимьюз

Иксилимьюз
  • Свой человек
  • 966 сообщений
Имеется вопрос по рацианальности работы программы. Имеется прога. Она работает с тремя базами данных формата mdb. Работает по средствам ADO. Написана в Дельфях. Так вот. Суть вопроса, насколько вредно для работы винды, тот факт что прога держит открытыми сразу 3 таблицы? Впринцепи не могу сказать что в базах предполгается ооочень большой объём данных.
Придумал фичу, при при открытии закладки программы, активизируется соотвествующая таблица. и коннекшин. Как бы и хорошо, с другой стороны при быстром переключении с одной закладки на другую бывают глюки. То есть Таблица не успевает подключится, а визуальный объект уже открыт.. И порой программ просто вылетает. Поставил защиту что бы нельзя было переключать закладки чаще чем 1 раз в 2 секунды. Это как бы автоматом капает на нервы юзверю) Так вот. Стоит ли изголятся и дальше совершенствовать модуль который будет отключать ненужные таблицы и включать нужные, при наличии 3х БД, объём данных которых впринцепи нельзя назвать очень большим.
  • 0

#214
Pooh

Pooh
  • В доску свой
  • 1 898 сообщений

Table1.DisableControls;

try

  // открываешь таблицу здесь + любые другие операции

finally

  Table1.EnableControls;

end;


Сообщение отредактировал Pooh: 03.01.2008, 21:03:35

  • 0

#215
Иксилимьюз

Иксилимьюз
  • Свой человек
  • 966 сообщений
2 Pooh: Да, весьма грамотная мыслишка! Она наводит на ряд других полезных мыслишек, спасибо Вам большое! ;)
  • 0

#216
qashqai

qashqai
  • В доску свой
  • 1 699 сообщений

Очень нужно в Excel написать код макроса для выделения Select-ом большого количества строк (около 20000). Есть метод Union(Rows(19082), Rows(19084)).Select, который выделяет конкретно указанные строки, но как выделить 20000 строк, если номера их известны?
Подскажите, пожалуйста, если знаете.


Range("A1:A19").Select

где вместо 19 можно использовать переменную, значение которой может быть равным 20000
  • 0

#217
v04bvs

v04bvs
  • В доску свой
  • 2 062 сообщений

Имеется вопрос по рацианальности работы программы. Имеется прога. Она работает с тремя базами данных формата mdb. Работает по средствам ADO. Написана в Дельфях. Так вот. Суть вопроса, насколько вредно для работы винды, тот факт что прога держит открытыми сразу 3 таблицы?

Решайте проблемы по мере их поступления. Венде всё равно, сколько таблиц вы держите «открытыми». Если всё работает, то не страдайте ерундой, решайте более насущные задачи.
  • 0

#218
Иксилимьюз

Иксилимьюз
  • Свой человек
  • 966 сообщений

Решайте проблемы по мере их поступления. Венде всё равно, сколько таблиц вы держите «открытыми». Если всё работает, то не страдайте ерундой, решайте более насущные задачи.

Учту) Спасибо. =)
  • 0

#219
new year chaild

new year chaild
  • Гость
  • 10 сообщений
Помогите! Я не могу нормально открыть свой хардак. Кликаю на него левой кнопкой мыши пишет : "Выберите программу для открытия этого файла". Кликаю правой затем выбираю "открыть", открывает нормально. Но это не удобно. Ничего не пойму.java script:emoticon(':D', 'smid_9')
  • 0

#220
v04bvs

v04bvs
  • В доску свой
  • 2 062 сообщений

Помогите! Я не могу нормально открыть свой хардак. Кликаю на него левой кнопкой мыши пишет : "Выберите программу для открытия этого файла". Кликаю правой затем выбираю "открыть", открывает нормально. Но это не удобно. Ничего не пойму.java script:emoticon(':D', 'smid_9')

Вирус. Тебе проще всего будет переустановить венду и потом использовать нормальный антивирус (рекомендую Comodo antivirus или AVG free edition - оба бесплатные и оба неплохо работают).
  • 0


Количество пользователей, читающих эту тему: 0

пользователей: 0, неизвестных прохожих: 0, скрытых пользователей: 0

Размещение рекламы на сайте     Предложения о сотрудничестве     Служба поддержки пользователей

© 2011-2022 vse.kz. При любом использовании материалов Форума ссылка на vse.kz обязательна.