void DemoBarcodes (HANDLE hLcWnd)
{
HANDLE hDrw, hBlock, hTStyle, hEnt;
double X, Y, W, H, dx;
WCHAR* szTextStyle = L"Bar text";
WCHAR* szFontName = L"Arial";
// get drawing and block, linked with CAD window
hDrw = lcPropGetHandle( hLcWnd, LC_PROP_WND_DRW );
hBlock = lcPropGetHandle( hLcWnd, LC_PROP_WND_BLOCK );
// get text style with specified name
hTStyle = lcDrwGetObjectByName( hDrw, LC_OBJ_TEXTSTYLE, szTextStyle );
if (hTStyle == NULL){
// the style don't exist, create new text style
hTStyle = lcDrwAddTextStyle( hDrw, szTextStyle, szFontName, true );
}
// set current text style
lcPropPutHandle( hDrw, LC_PROP_DRW_TEXTSTYLE, hTStyle );
// add barcodes
W = 50.0;
H = 10.0;
X = W / 2.0;
Y = H / 2.0;
hEnt = lcBlockAddBarcode( hBlock, LC_BARTYPE_EAN13, X, Y, W, H, L"4600987001203" );
Y = Y + (H * 1.5 );
hEnt = lcBlockAddBarcode( hBlock, LC_BARTYPE_CODE128, X, Y, W, H, L"Code 128" );
lcPropPutFloat( hEnt, LC_PROP_BARC_TEXTH, 0.3 );
lcPropPutInt( hEnt, LC_PROP_BARC_TEXTALIGN, 0 );
Y = Y + (H * 1.5 );
hEnt = lcBlockAddBarcode( hBlock, LC_BARTYPE_CODE93, X, Y, W, H, L"1234567890" );
lcPropPutBool( hEnt, LC_PROP_BARC_HIDETEXT, true );
Y = Y + (H / 2.0 );
dx = W / 4.0;
W = W * 0.35;
X = dx;
Y = Y + dx;
hEnt = lcBlockAddBarcode( hBlock, LC_BARTYPE_DM, X, Y, W, 0, L"Data Matrix 12345" );
X = X + dx + dx;
hEnt = lcBlockAddBarcode( hBlock, LC_BARTYPE_QR, X, Y, W, 0, L"This is QR code" );
// update extents
lcBlockUpdate( hBlock, true, 0 );
// zoom extents
lcWndZoomRect( hLcWnd, 0, 0, 0, 0 );
}