|
28 Apr |
Automatisches scrollen im TRichEdit Borland C++ Builder
|
RichEdit1->HideSelection = false;
RichEdit1->SelStart=RichEdit1->Lines->Text.Length();
|
28 Apr |
Canvas mit Farbverlauf Borland C++ Builder
|
int h=Height;
int w=Width;
int mycolor=0;
for(int i=0;i{
mycolor=255*i/h;
Canvas->Pen->Color=TColor(RGB(mycolor,200,200));
Canvas->MoveTo(0,i);
Canvas->LineTo(w,i);
}
|
28 Apr |
Standalone EXE- Datei erstellen Borland C++ Builder
|
Geh ins Menue “Projekt” -> “Optionen”.
Da deaktivierst du unter Registerkarte Linker
“dynamische RTL verwenden”
und unter Registerkarte Packages
“mit Laufzeit-Packages kompilieren”.
Jetzt sollte deine EXE- Datei auch auf Rechnern
laufen die kein BCB installiert haben.
|
28 Apr |
DBGrid mit abwechselnder Zeilenfarbe Borland C++ Builder
|
Diesen Code einfach in das Ereignis “OnDrawColumnCell” vom DBGrid kopieren … fertig.
POINT XYCell={Rect.Left,Rect.Top};
TGridCoord cellColRow;
::ClientToScreen(DBGrid1->Canvas->Handle,(LPPOINT)&XYCell);
cellColRow=DBGrid1->MouseCoord(XYCell.x,XYCell.y);
if(cellColRow.Y % 2)
{
DBGrid1->Canvas->Brush->Color = 0×00F1F1F1;
}else
{
DBGrid1->Canvas->Brush->Color = 0×00FFFFFF;
DBGrid1->Canvas->FillRect(Rect);
}
DBGrid1->DefaultDrawColumnCell(Rect,DataCol,Column,State);
if (State.Contains(gdSelected))
{
DBGrid1->Canvas->Brush->Color = clSkyBlue;
DBGrid1->Canvas->FillRect(Rect);
DBGrid1->Canvas->DrawFocusRect(Rect);
DBGrid1->DefaultDrawColumnCell(Rect, DataCol, Column, State);
}
|
28 Apr |
ODBC-Datenquelle zur Laufzeit hinzufügen Borland C++ Builder
|
odbccp32.lib -> zum Projekt hinzufügen
#include <odbcinst.h>
char buffer[MAXPATH];
extern String Arbeitsverzeichnis = getcwd(buffer, MAXPATH);
AnsiString dbqStr = Arbeitsverzeichnis + “Datenbankdatei.mdb”;
AnsiString strAttribs = “DSN=Datenbankname”;
strAttribs += ‘’;
strAttribs += “DBQ=” + dbqStr;
strAttribs += ‘’;
if(SQLConfigDataSource ( NULL, ODBC_ADD_DSN, “Microsoft Access Driver (*.mdb)”, strAttribs.c_str() ))
{
ADOConnection1->Connected = true;
}else
{
ShowMessage(“Fehler beim anlegen der ODBC-Datenquelle”);
}
|
28 Apr |
float in String mit Währungsformat konvertieren Borland C++ Builder
|
Aus 1000000 wird 1.000.000,00 €.
AnsiString s = FloatToStrF(1000000, ffCurrency, 15, 2);
|
28 Apr |
Windows Benutzername abfragen Borland C++ Builder
|
char username[256] = {0};
unsigned long laenge = sizeof(username);
GetUserName(username, &laenge);
ShowMessage(AnsiString(username));
|
28 Apr |
Fenster ohne Titelleiste verschieben Borland C++ Builder
|
In das Ereignis “OnMouseDown” folgenden Code einfügen und schon kann man das Fenster ohne Titelleiste problemlos verschieben.
if (Button == mbLeft)
{
ReleaseCapture();
SendMessage(this->Handle, WM_NCLBUTTONDOWN, HTCAPTION, 0L);
}
|
28 Apr |
DBLookupComboBox Wert setzen Borland C++ Builder
|
Bei einer DBLookupComboBox ist es nicht möglich, wie bei einer ComboBox, über die Eigenschaft “Text” einen Wert zu setzen.
Abhilfe schafft die Eigenschaft “KeyValue”.
DBLookupComboBox1->KeyValue = “meinWert”;
|
28 Apr |
“OpenDialog” auch auf “Abbrechen” reagieren Borland C++ Builder
|
Manchmal ist es auch notwendig bei einem Klick auf “Abbrechen” (Cancel) in einem “OpenDialog” zu reagieren.
Hier ein kleines Code- Beispiel:
if (OpenDialog1->Execute())
{
ShowMessage(“Öffnen gedrückt”);
}else
{
ShowMessage(“Abbrechen gedrückt”);
}
