C++Builder
   Начало   Форум Помощь Войти Регистрация  
Страниц: [1] 2 3 4 5 6 ... 10
 1 
 : 25 Февраль 2019, 21:16:44 
Автор Ravil - Последний ответ от Ravil
Тема закрыта. Решил вопрос более простым способом, отключением данной звуковой дорожки в Windows.

 2 
 : 22 Февраль 2019, 02:47:10 
Автор Ravil - Последний ответ от Ravil
Всем доброго дня. Ребят может кто знает как отключить звуковое сопровождение при выполнении данного кода? Ну очень сильно напрягает. 
Код:
void __fastcall TForm5::Edit2KeyPress(TObject *Sender, System::WideChar &Key)
{
if(Key == VK_RETURN)
   {
keybd_event(VK_TAB, 0, 0, 0);
keybd_event(VK_TAB,0,KEYEVENTF_KEYUP,0);
   }
}
                                                                                                                     ЗА ранее всем спасибки.

 3 
 : 17 Февраль 2019, 13:31:42 
Автор direk - Последний ответ от direk
Поспешил задавать вопрос. Нашел решение:

Код
TMemoryStream *ms = new TMemoryStream;
   TStringList *lst = new TStringList;
   IPersistStreamInit *strm;
 
   lst->Text = HTMLText;
   lst->SaveToStream(ms);
 
   ms->Position = 0;
   _di_IStream adapter(*(new TStreamAdapter(ms, soReference)));
   if (SUCCEEDED(cppWB->Document->QueryInterface(IID_IPersistStreamInit, (void **)&strm)))
       strm->Load(adapter);
 
   delete ms, strm, lst;

Так все работает. Тему можна закрыть.

 4 
 : 17 Февраль 2019, 12:44:13 
Автор direk - Последний ответ от direk
Такая ситуация - програма создает данимические HTML странички.
Если это простой HTML - CppWebBrowser1 отображает их без проблем.
Но для красоты интерфейса я использую в том числе и jQuery-скрипты.

Код
 
TStringStream *str2 = new TStringStream();
str2->LoadFromFile(L"c:\\test.html");
Variant v;
IHTMLDocument2 *HTMLDoc = NULL;
 
CppWebBrowser1->Document->QueryInterface(IID_IHTMLDocument2,(LPVOID*)&HTMLDoc);
v = VarArrayCreate( OPENARRAY( int, ( 0, 0 ) ), varVariant );
v.PutElement(str2->DataString, 0);
HTMLDoc->write(PSafeArray(TVarData(v).VArray));
 
HTMLDoc->close();
delete  str2;
 

Проблема возникает вот здесь : $(document).ready(function()

Код
<script type='text/javascript'>
        $(document).ready(function(){
$('.fancybox').fancybox();
});
</script>

Ругается на: $ не определено.

При том,  если из StringStream HTML-страницу выгрузить в файл
и загрузить его потом в WebBrowser1 через Navigate, то ошибок не выдает и
скрипты выполняються.
 
Код
ppWebBrowser1->Navigate(L"c:\\test.html");

Теперь вопрос - почему, если из файла, скрипты выполняются, а
если тот же файл загрузить в поток и потом в  WebBrowser , то ругается?
И как обойти эту ошибку, если возможно?

 5 
 : 07 Февраль 2019, 14:24:01 
Автор Sergey1985 - Последний ответ от S0mbre
Выше решение - в обработчике события OnChange менять свойство Text остальных списков (проверять, какие в данный момент не в фокусе). Другой вариант - хранить текст в отдельной переменной (напр. типа TStringList) и прописать на все ListBox / ComboBox'ы один обработчик события OnData, в котором брать данные из этого TStringList. А на обработчики OnDragDrop и т.д. (если меняете данные местами при помощи мыши, к примеру) повесить
Код
// TStringList* strList; --- в классе формы
strList->Assign(static_cast<TListBox*>(Sender)->Items);
 

 6 
 : 07 Февраль 2019, 14:08:11 
Автор Sergey1985 - Последний ответ от S0mbre
Там вроде есть метод ClearSelections() - если мне память не изменяет... Посмотрите доки.

PS. Код вызывает сомнения. Приводить TStringGrid к своему потомку TCustomGrid через reinterpret_cast неправильно, это нарушает принципы инкапсуляции и классовой иерархии. Лучше наследуйте сразу от TCustomGrid или TStringGrid и этот компонент применяйте.

 7 
 : 07 Февраль 2019, 13:59:26 
Автор Sergey1985 - Последний ответ от S0mbre
Почистил, давайте без оскорблений )
По топику: Если строго WinAPI (а причины не использовать RTL могут быть разные, например ограничения выходного PE по размеру) - тогда и используйте винапишные мьютексы и иные объекты синхронизации. А вообще, TThread (RTL) является оберткой вокруг того же винапишного CreateThread... Плюс гораздо удобнее, ИМХО.

 8 
 : 07 Февраль 2019, 13:53:40 
Автор leoboec - Последний ответ от S0mbre
Смотрите на методы TextWidth, TextHeight, TextExtent класса TCanvas. Простой пример.

Т.е. вам надо:
1) опытным путем соотнести разные ширины текста с размером и семейством шрифта (при условии автоматического переноса текста, например в методе TCanvas::TextRect), как вариант сохранить в статический массив;
2) на событие OnChange поля (TEdit) повесить обработчик, в котором изменять шрифт в канве в зависимости от длины вводимого текста

 9 
 : 25 Январь 2019, 01:59:17 
Автор Ravil - Последний ответ от Ravil
ВСЕ Большое спасибо. Тема Закрыта. Все понял.  Смеющийся Смеющийся Смеющийся

 10 
 : 24 Январь 2019, 23:43:41 
Автор Ravil - Последний ответ от OVE
тогда перед циклом нужно значение n обновлять
Код:
int n=DBEdit1->Field->AsInteger;

Страниц: [1] 2 3 4 5 6 ... 10



....

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines
Страница сгенерирована за 0.107 секунд. Запросов: 20.