C++Builder
   Начало   Форум Помощь Войти Регистрация  
Страниц: [1] 2 3 4 5 6 ... 10
 1 
 : 12 Январь 2019, 21:26:41 
Автор Sergey1985 - Последний ответ от Sergey1985
Доброго времени суток
имеется кодик
Код
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
class TMyGrid : public TCustomGrid
{
public:
  using TCustomGrid::InvalidateCell;
  using TCustomGrid::InvalidateRow;
  using TCustomGrid::InvalidateCol;
};
TColor MyColor;
int i;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
       : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 MyColor = clRed;
 reinterpret_cast<TMyGrid*>(Grid1)->InvalidateCell(3,2);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Grid1DrawCell(TObject *Sender, int ACol, int ARow,
     TRect &Rect, TGridDrawState State)
{
Grid1->Canvas->Brush->Color = MyColor;
i++;
Edit1->Text = IntToStr(i);
String text = Grid1->Cells[ACol][ARow];
 
//&#208;&#232;&#241;&#243;&#229;&#236; &#244;&#232;&#234;&#241;&#232;&#240;&#238;&#226;&#224;&#237;&#237;&#251;&#229; &#255;&#247;&#229;&#233;&#234;&#232;:
//if(State.Contains(gdFixed))
//{
   Grid1->Canvas->Font->Color = clYellow;                  //&#214;&#226;&#229;&#242; &#248;&#240;&#232;&#244;&#242;&#224; (&#241;&#232;&#237;&#232;&#233;)
   Grid1->Canvas->Font->Style = TFontStyles() << fsBold; //&#198;&#232;&#240;&#237;&#251;&#233; &#248;&#240;&#232;&#244;&#242;
   Grid1->Canvas->Font->Size  = 10;                      //&#208;&#224;&#231;&#236;&#229;&#240; &#248;&#240;&#232;&#244;&#242;&#224;
//}
 
Grid1->Canvas->FillRect(Rect);
// &#194;&#251;&#240;&#224;&#226;&#237;&#232;&#226;&#224;&#229;&#236; &#242;&#229;&#234;&#241;&#242; &#239;&#238; &#246;&#229;&#237;&#242;&#240;&#243;:
Grid1->Canvas->TextOut(Rect.Left + (Rect.Width() - Grid1->Canvas->TextWidth(text))/2,
Rect.Top + (Rect.Height() - Grid1->Canvas->TextHeight(text))/2, text);
 
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
MyColor = clBlue;
for (int i=1; i<5; i++)
for (int j=1; j<5; j++)
Grid1->Cells[i][j] = IntToStr(i+j*10);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Grid1SelectCell(TObject *Sender, int ACol,
     int ARow, bool &CanSelect)
{
   CanSelect = false;
}
//---------------------------------------------------------------------------
 
где Grid1 это компонент класса TStringGrid. Не могу понять как удалить выделение ячейки [1][1] после того как нажал на Button1 и потом как бы случайно щелкнул по сетке. С заранее спасибо.

 2 
 : 12 Декабрь 2018, 16:14:14 
Автор Sergey1985 - Последний ответ от Sergey1985
Попробую поточнее.  Имеется на форме несколько  ListBox.  Я работаю с одним из них. Добавляю удаляю меняю местами строки. Так вот нужно чтобы эти изменения автоматически отображались на всех остальных. Чтобы все ListBox имели одинаковые списки. Понимаю что можно при каждом пчихе самому вручную эти самые строки из первого ListBox копировать во все остальные ListBox или прописывать каждое действие для всех ListBox. Но тогда код будет слишком нагроможденным. Поэтому и призадумался.   

 3 
 : 12 Декабрь 2018, 12:38:21 
Автор Sergey1985 - Последний ответ от Hex
и там и там тупо список строк:
Combo1->Items->Text = List1->Items->Text;
List1->Items->Text = Combo1->Items->Text;
PS конкретней вопросы формулируй

 4 
 : 11 Декабрь 2018, 09:00:19 
Автор Sergey1985 - Последний ответ от Sergey1985
Всем огромный привет. Продолжаю велосипедировать Улыбка  За все предыдущие подсказки ОГРОМНОЕ СПАСИБО. Суть нового свалившегося вопроса такова. Ест ли какой то оптимальный способ связать между  собой ComboBox'ы и ListBox'ы  так чтобы при изменении списка одного из них список автоматом менялся и в другом. Последовательность записей тоже учитывается.

 5 
 : 06 Декабрь 2018, 21:35:28 
Автор avnalobin - Последний ответ от Hex
Up темы.
На будущее всем с подобной проблемой - VirtualBox наше все. 4Gb образ диска с XP, туда же билдер - и можно хоть с флешки запускать.

 6 
 : 06 Декабрь 2018, 21:28:59 
Автор Sergey1985 - Последний ответ от Hex
1. присвоение одному указателю значения другого. что не так? и кстати, скобочки можно выкинуть.
2. так в "стиле Си" передают в функцию массив указателей (указатель на указатель). RTFM.
  но в данном коде это просто дурь автора и лишние операции внутри функции, реально используется только 1 элемент.

 7 
 : 06 Декабрь 2018, 21:24:17 
Автор Sergey1985 - Последний ответ от Hex
Вот ведь велосипедист...
это каким раком надо поставить билдер, чтобы нельзя было TThread пользоваться?
и возможность слить свой Г.о.в.н.о.код в DLL тоже никто не отменял, а там ваяй как и на чем хочешь.

 8 
 : 06 Декабрь 2018, 21:21:41 
Автор Ravil - Последний ответ от Hex
"количество дубликатов страниц каждой строки" ...
у меня воображения не хватает представить "что она имела ввиду".

А если надо тупо нашлепать N копий страниц в отчет - можно сделать промежуточный репорт
и из него слить нужное число копий в финальный репорт

 9 
 : 06 Декабрь 2018, 21:18:23 
Автор leoboec - Последний ответ от Hex
вариант раз - разбить строку на символы и вручную перерасчитать кернинг
вариант два - подумать головой над юзабилити и сделать нормально

 10 
 : 06 Декабрь 2018, 21:15:01 
Автор Sergey1985 - Последний ответ от Hex
Да, ты знатный велосипедист. Почитал твои темы - даже не знаю, плакать или смеяться.
PS: *((int*) address) = 1;

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



....

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